【发布时间】:2019-09-22 17:08:51
【问题描述】:
我在 elasticsearch.yml 中设置了这些行,因此 Elasticsearch 在公共网络中是可见的。
network.host: 0.0.0.0 discovery.seed_hosts: ["host1_ip","host2_ip" , ...]
但是,当我查看日志文件时,我看到了以下几行:
[INFO ][o.e.t.TransportService ] [node-dtk6] publish_address {172.16.3.2:9300}, bound_addresses {[::]:9300}
[INFO ][o.e.b.BootstrapChecks ] [node-dtk6] bound or publishing to a non-loopback address, enforcing bootstrap checks
此外,Kibana 显示 172.16.3.2:9300 而不是公共 IP。但是,我的节点在公共网络中是可见的!
如何强制 elasticsearch 在公共 IP 而不是私有 IP 上发布?
【问题讨论】:
-
你的公网IP是多少?
-
你的问题很不清楚。只有我知道“network.host: 0.0.0.0”是错误的,它应该是一个 IP(就像你的私有 IP)。
-
为什么('0.0.0.0')错了?
-
你在 docker 上运行 elasticsearch 吗?
-
我发现问题出在操作系统之外的防火墙!我使用
ip addr命令发现了问题,该命令显示的是私有 IP 而不是公共 IP。
标签: elasticsearch