【问题标题】:Elastic Search Clustering in the Cloud云中的弹性搜索集群
【发布时间】:2014-01-18 05:05:15
【问题描述】:

我有 2 个 Linux 虚拟机(都位于云提供商的同一数据中心):Elastic1 和 Elastic2(其中 Elastic 2 是 Elastic 1 的克隆)。两者都具有相同的 centos 版本、相同的集群名称和相同的 ES 版本 - Elastic2 是一个克隆。

我使用服务包装器在启动时自动启动它们,并将彼此的 ip 引入各自的 iptables 文件,所以现在我可以在节点之间成功 ping。

本以为这样就足以让 ES 形成集群了,但无济于事。

Elastic1 和 Elastic2 都有 1 个索引,分别命名为 e1 和 e2。每个索引有 1 个没有副本的分片。

我可以在每台服务器上成功使用 head 和 paramedic 插件。并使用curl -XGET 'http://localhost:9200/_cluster/nodes?pretty=true' 验证集群名称是否相同,并且每台服务器仅列出 1 个节点。

这些节点为什么不说话有什么明显的吗?我重新启动了 ES 服务并在两台服务器上重新启动,但均无济于事。克隆会是问题吗??

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    在你的 elasticsearch.yml 中:

    discovery.zen.ping.multicast.enabled: false
    discovery.zen.ping.unicast.hosts: ['host1:9300', 'host2:9300']
    

    因此,只需在单播主机下使用传输端口(默认为 9300)列出您的节点 IP。默认情况下启用多播,但在不使用外部插件的云环境中通常是不可能的。

    另外,请务必检查您的 IP 规则/安全组!这很容易忘记。

    【讨论】:

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