【问题标题】:Elasticsearch, Publishing on Private IPElasticsearch,在私有 IP 上发布
【发布时间】: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


【解决方案1】:

我的问题是由于在我的网络上放置了二级防火墙。

我使用ip addr 命令发现了问题,该命令显示的是私有 IP 而不是公共 IP。但是,Elasticsearch 会响应查询,因为防火墙会将公共 IP 重定向到 elasticsearch。

当我禁用防火墙时,Kibana 显示公共 IP,并且 Elasticsearch 日志中的 published_ip 更改为公共 IP。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多