elasticsearch听多个ips

Rec*_*bot 21 elasticsearch

是否可以收听多个主机地址,以便我可以收听本地主机请求和私有IP请求?

就像是:

network.host: "127.0.0.1", "192.168.1.4"
Run Code Online (Sandbox Code Playgroud)

Fre*_*red 23

事实上是的.使用JSON表示法.

这是我在我的配置中使用: network.bind_host: ["yourhost", "localhost"]network.publish_host: yourhost 你不想在loopback接口上发送组播数据包.

  • 这是yaml,没有json :) (3认同)
  • 唉,这不适用于2.1.1.我的配置有`network.bind_host:["192.168.0.1","127.0.0.1"]`但日志状态为`publish_address {192.168.0.1:9200},bound_addresses {127.0.0.1:9200},{127.0.0.2: 9200},{[:: 1]:9200}`和弹性不**听外部接口. (3认同)
  • yaml是json :)的超集(我不知道那个时间最长) (2认同)
  • @马丁,汤姆是对的。请参阅第 1.3 节:“因此,YAML 可以被视为 JSON 的自然超集,提供了更好的人类可读性和更完整的信息模型。实践中也是如此;每个 JSON 文件也是一个有效的 YAML 文件。” 第一部分的陈述不是很好,容易误解。 (2认同)

mvr*_*ijn 11

我测试了给定的解决方案但它没有用.我得出结论,Elastic无法在配置中侦听特定接口network.bind_host.

但是,您可以通过指定弹出来监听所有接口:

network.bind_host: 0.0.0.0
network.publish_host: <your external address>
Run Code Online (Sandbox Code Playgroud)

这将确保发布一个地址(到群集),但所有地址都可访问.使用Elastic 2.1.1进行测试和验证.


Mao*_*dok 5

network.host: [  _site_ , _local_ , _global_ ]
Run Code Online (Sandbox Code Playgroud)
  • _local_ : 任何环回地址
  • _site_ :任何本地(内部)地址
  • _global_: 任何外部 IP

您可以改为指定网络接口名称,例如 [ _eth0_ , _lo_ ]