如何从另一台机器连接到我的弹性搜索集群



我想从另一台机器连接我的弹性搜索集群,我查阅了一些文档,他们提到我已经更改了network.bind_host : 0。但我在elasticsearch.yml中没有找到network.bind_host。我在elaticsearch.yml文件中只找到了network.host。甚至我也尝试过network.host :0,但我无法从另一台机器连接。我还尝试删除network.host :0之前的##,这在启动弹性搜索集群时引发了一个错误。

当我从另一台机器连接时,我必须给http://clustermachingip:9200,对吗?有人能帮我解决这个问题吗?

谢谢。。

当您想连接到另一台机器的弹性搜索实例时,是的,地址是http://clustermachingip:9200。你能试着设置network.bind_host: clustermachingip

如果这不起作用,那么您可能需要使用ping命令之类的命令来检查与要连接的机器的连接。

ping clustermachingip

编辑:

您可以在一台机器中开始弹性搜索,然后在另一台机器上尝试以下curl命令之一。

curl 'clustermachingip:9200/_cat/nodes?v'
curl 'clustermachingip:9200/_cat/health?v'

编辑2:清除network.host、network.bind_host 之间的混淆

https://www.elastic.co/guide/en/elasticsearch/reference/2.4/modules-network.html#advanced-网络设置

常用网络设置中解释的网络主机设置是一个快捷方式,用于将绑定主机和发布主机设置在同时。在高级用例中,例如在代理后面运行时服务器,您可能需要将这些设置设置为不同的值:

网络.bind_host这指定节点应该绑定到哪个网络接口,以便侦听传入请求。一个节点可以绑定到多个接口,例如两个网卡,或一个站点本地地址和本地地址。默认为network.host.network.publish_host发布主机是节点向群集中的其他节点播发的单个接口,以便这些节点可以连接到它。当前,弹性搜索节点可以绑定到多个地址,但只发布了一个。如果未指定,则默认为"最佳"network.host中的地址,按IPv4/IPv6堆栈首选项排序,然后通过可达性。

将elasticsearch.yml中的network.host设置为0.0.0.0,即它将侦听所有可用的绑定地址。

network.host: 0.0.0.0

在端口上检查您与主机的连接(如果您没有更改端口,则为9200)。

如果您仍然无法连接到主机,我建议您检查iptables并允许连接到9200端口。

最新更新