首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在ElasticSearch中,bind_host和publish_host有什么不同?

在ElasticSearch中,bind_host和publish_host有什么不同?
EN

Stack Overflow用户
提问于 2014-06-05 23:01:05
回答 5查看 34.7K关注 0票数 28

从本文档network settings中,我了解到publish_host是群集中的其他节点将与之通信的主机。但我不理解bind_host的功能,这意味着:

network.bind_host设置允许控制将绑定不同网络组件的主机。默认情况下,绑定主机将为anyLocalAddress (通常为0.0.0.0或::0)。

并且network.bind_hostnetwork.publish_host将被network.host设置为相同的值。

所以我想知道为什么需要设置network.bind_host,以及是否可以将network.bind_hostnetwork.publish_host设置为不同的值?

EN

回答 5

Stack Overflow用户

发布于 2014-10-06 18:16:22

可以将它们设置为不同的值,并且在某些情况下非常有用。下面是我的用法:

我在数据中心有一个本地网络,在那里我运行由不同节点组成的elasticsearch集群。这意味着每台elasticsearch计算机都有两个ip地址,一个用于从外部计算机访问它,另一个用于本地连接到同一网络中的其他计算机。

内部ip (eth1)用于让elasticsearch的不同节点相互通信、发现等,而外部ip地址(eth0)是我在另一个网络中的web应用程序发出请求的地址。

因此,简单地说,bind_host (在我的例子中是两个ip,与连接所有接口的默认值0.0.0.0相同)是elasticsearch侦听的地方,而publish_host (我的例子是内部ip )是elasticsearch与其他集群组件通信的地方。

这样,我的web应用程序在另一个网络中,可以从bind_host地址访问ES集群,而elasticsearch通过publish_host与集群通信。

票数 14
EN

Stack Overflow用户

发布于 2015-11-12 05:47:26

下面的设置应该可以解决这个问题。它接受来自任何IP (bind)的连接,并将自己的ip配置到第一个可用网络接口中的第一个non_loopback。

代码语言:javascript
复制
network.bind_host: "0.0.0.0"
network.publish_host: _non_loopback:ipv4_

要查看更多选项,请查看docs

票数 12
EN

Stack Overflow用户

发布于 2016-10-29 10:44:45

根据我的理解,用一个打电话的比喻:

  • publish_host的意思是:"Call me on this number"
  • bind_host“意思是:”I‘’ll on this number"

publish_host: _non_loopback:ipv4_可以理解为:“无论我从哪个号码给你打电话,都可以给我打电话。”

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24063644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档