【问题标题】:Cannot setup Elasticsearch cluster (though following a previous SO answer)无法设置 Elasticsearch 集群(尽管遵循之前的 SO 答案)
【发布时间】:2016-07-14 17:26:39
【问题描述】:

通过关注this answer,我将我的/etc/elasticsearch/elasticsearch.yml 设置如下(几乎等同于链接的答案):

节点 1 (192.168.136.6):

cluster.name: mycluster
node.name: "node1"
node.master: true
node.data: true
discovery.zen.ping.unicast.hosts: ["192.168.136.6"]

节点 2 (192.168.152.244):

cluster.name: mycluster
node.name: "node2"
node.master: false
node.data: true
discovery.zen.ping.unicast.hosts: ["192.168.136.6"]

其他所有内容都设置为默认值,即它们已被注释掉。

通过节点 1 上的 curl http://localhost:9200/_cluster/health?pretty=true,我得到:

...
"number_of_nodes" : 1,
"number_of_data_nodes" : 1,
...

显然节点 1 和 2 没有集群。我错过了什么?

注意:我在 CentOS 6.5 上使用 ES 2.3.4。至少从节点 2 到 1 和 1 到 2 可以正常工作。我暂时关闭了 iptables(因为我想确保防火墙设置不会导致问题)。我尝试了两种 VPS 服务,但仍然无法正常工作(因此我从标题中删除了“on Linode”)。

【问题讨论】:

  • 您以不同的方式询问它,但答案是同一个问题的结果。默认情况下,ES 2.0+ 仅将套接字绑定到 localhost。因此,在不同的 IP 上,两个节点不能互相看到。
  • 虽然我自己发布了答案,但您的评论帮助我找到了解决方案。谢谢。

标签: elasticsearch centos


【解决方案1】:

好吧,我可以解决这个问题,但它实际上有点复杂。我的服务器(在 Linode 上)只有接口eth0,绑定到外部互联网,别名eth0:0 绑定到专用网络。因此,我不得不将network.host 设置为_eth0:0_,然而,does not work (maybe a bug)。因此,我将network.host 设置为_site_,在这种情况下,它似乎实际上转换为_eth0:0_。现在我有了一个正确集群的 ES。

_global_ 也可能有用,但我犹豫是否使用它,因为我不确定它是否安全。

【讨论】:

    猜你喜欢
    • 2015-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多