云中的 Elastic Search 集群

2023-11-30

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

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

我以为这足以让ES形成一个集群,但没有成功。

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

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

有什么明显的原因可以解释为什么这些节点不说话吗?我重新启动了ES服务并在两台服务器上重新启动都无济于事。克隆可能是问题吗?


在您的 elasticsearch.yml 中:

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

云中的 Elastic Search 集群 的相关文章

随机推荐