如何从另一台机器连接到我的elasticsearch集群?

时间:2017-02-12 16:35:04

标签: elasticsearch

我想从另一台机器上连接我的elasticsearch集群我经历了一些文档,他们提到我已经更改了network.bind_host : 0。但是我没有在我的弹性搜索中找到network.bind_host .yml。我在elasticsearch.yml文件中只得到了network.host。即使我通过给予as来尝试它 network.host :0但我无法从另一台机器连接。我还尝试在network.host :0之前删除##,这会在启动elasticsearch集群时抛出错误。

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

谢谢..

2 个答案:

答案 0 :(得分:1)

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

network.host: 0.0.0.0

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

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

答案 1 :(得分:0)

如果要连接到另一台计算机的elasticsearch实例,则地址为http://clustermachingip:9200。您可以尝试设置network.bind_host: clustermachingip

如果这不起作用,那么您可能希望使用类似ping命令检查与尝试连接的计算机的连接。

ping clustermachingip

编辑:

您可以在一台计算机上启动elasticsearch,然后从另一台计算机尝试以下curl命令之一。

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

EDIT2:清除network.host,network.bind_host

之间的混淆

https://www.elastic.co/guide/en/elasticsearch/reference/2.4/modules-network.html#advanced-network-settings

  

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

     

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