linux - Elasticsearch 7.6 监听环回地址但不监听服务器 IP

标签 linux amazon-web-services elasticsearch

  1. 当我在本地主机 IP 上执行 curl 时它正在工作,但是当我在节点 IP 上执行时。它显示以下错误(curl:(7)无法连接到 192.168.21.221:9200;连接被拒绝)。

  2. 在 netstat 中,端口只监听环回地址

[root@elk ~]# netstat -tnlpu | grep 9200 tcp6 0 0 127.0.0.1:9200 :::* LISTEN 14968/java tcp6 0 0 ::1:9200 :::* LISTEN 14968/java

  1. 当我对/etc/elasticsearch/elasticsearch.yml 文件应用以下更改并重新启动 elasticsearch 服务时,它失败了
network.host: 0.0.0.0
network.host: [_local_, _site_, _global_]
network.host: 0.0.0.0
network.bind_host: 0.0.0.0
network.publish_host: 0.0.0.0

最佳答案

由于 OP 没有提到错误,我假设他尝试添加以下配置,这将触发生产 Bootstrap 检查作为 network.host: 0.0.0.0意味着在生产环境中运行,因为您没有将其绑定(bind)到环回地址。

很可能 OP 必须低于错误:

ERROR: 1 bootstrap checks failed 1: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

要解决它,请在 elasticsearch.yml 中添加以下配置

discovery.type: single-node

有关 single-node in this answer 的更多信息在此之后,如果您遇到与 VM 内存相关的问题,请以根用户身份运行命令

sysctl -w vm.max_map_count=262144

请在命令后注明 netstat -tnlpu | grep 9200表明它没有在监听环回地址。

tcp6 0 0 :::9200 :::*
LISTEN 17247/java

您也可以用您的 curl <your-ip>:9200 查看它命令。

关于linux - Elasticsearch 7.6 监听环回地址但不监听服务器 IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60747257/

相关文章:

linux - 如何缩短此 grep 命令?

c - 堆栈旁边的线程有什么用

linux - 如何向 VS Code 授予修改适用于 Linux 的 Windows 子系统中文件的权限

amazon-web-services - 有没有办法使用多个 aws 配置文件来部署(更新)无服务器堆栈?

elasticsearch - Elasticsearch:请求[/some index/_refresh]包含无法识别的参数:[refresh]

javascript - Elasticsearch 和 Firebase : Result limit change and weird query results

elasticsearch - 我应该在没有 logstash 的情况下使用 Elasticsearch 进行日志记录吗

linux - 如何使用 bash 脚本创建空克隆目录作为另一个目录下的子目录

amazon-web-services - 无法使用适当的权限创建临时目录 :/mnt1/s3

amazon-web-services - 是否可以/建议在 AWS CodeBuild 中使用 `sam build`?