elasticsearch - Elasticsearch集群实例显示为单个主节点

标签 elasticsearch deployment cluster-computing

我正在尝试部署2节点elasticsearch集群。

我有2个虚拟机,如下所示:

VM1-> 10.20.1.4(CentOS7)

VM2-> 10.20.1.5(CentOS7)

我已经在上述两个VM中都安装了java8作为先决条件。

从以下链接下载了elasticsearch tar:
https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.1.0/elasticsearch-2.1.0.tar.gz

在VM1(10.20.1.4)中,我在elasticsearch.yml文件中进行了以下配置

cluster.name: TestCluster
node.name: "node1"
node.master: true
transport.tcp.port: 9300
http.port: 9200
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts: ["10.20.1.4:9300", "10.20.1.5:9300"]

在VM2(10.20.1.5)中,我在elasticsearch.yml文件中进行了以下配置
cluster.name: TestCluster
node.name: "node2"
transport.tcp.port: 9300
http.port: 9200
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts: ["10.20.1.4:9300", "10.20.1.5:9300"]

但是使用这种配置,当我启动elasticsearch实例时,两个实例都作为一个单独的主节点出现。他们无法形成集群,因为他们无法发现它们。

我也在下面的zen单播版本中进行了尝试,但没有一个对我有用
discovery.zen.ping.unicast.hosts: ["10.20.1.4:9200", "10.20.1.5:9200"]
OR
discovery.zen.ping.unicast.hosts: ["10.20.1.4", "10.20.1.5"]
OR
discovery.zen.ping.unicast.hosts: ["node1", "node2"]

有人可以帮我完成这个Elasticsearch集群工作。

最佳答案

这是因为ES服务器is bound to localhost by default,即在您的配置中您可以看到此network.bind_host: _local_
他们做出了这个决定,以防止ES集群与外界不希望的主机一起形成。

相反,您应该在每个主机上设置以下设置:

network.host: 10.20.1.4 # on VM1


network.host: 10.20.1.5 # on VM2

请注意,设置network.host会将network.bind_hostnetwork.publish_host都设置为相同的IP地址。

关于elasticsearch - Elasticsearch集群实例显示为单个主节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34290109/

相关文章:

elasticsearch - 使用按查询删除从ElasticSearch删除200k +文档

search - elasticsearch前瞻性搜索解决方案

javascript - 使用 Node 集群不断地与套接字连接进行连接/断开连接

spring - 用spring在tomcat上集群

elasticsearch - 通过滚动别名查询ID的弹性GET失败,出现 “”别名[…]具有多个与之相关的索引…”

elasticsearch - ELK中的日期时间解析

maven - 使用 gradle 执行 Maven 部署文件

laravel - 部署时无法运行迁移。拉拉维尔 5.2

python - 两个 Kubernetes pod 如何通信?

python - 无法在 Beowulf 集群上正确运行个人作业。示例工作工作正常