Elasticsearch集群实例显示为单个主服务器

时间:2015-12-15 13:07:35

标签: elasticsearch deployment cluster-computing

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

我有2个VM,如下所示:

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"]

有人可以帮助我让这个弹性搜索集群发挥作用。

1 个答案:

答案 0 :(得分:1)

这是因为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地址。

相关问题