Elasticsearch 集群实例显示为单独的主实例
Elasticsearch cluster instances are showing up as an individual masters
我正在尝试部署一个 2 节点 elasticsearch 集群。
我有 2 个 VM,如下所示:
VM1 -> 10.20.1.4 (CentOS7)
VM2 -> 10.20.1.5 (CentOS7)
我已经安装了 java8 作为上述两个虚拟机的先决条件。
从下面 link 下载了 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"]
但是使用这种配置,当我使用 tart elasticsearch 实例时,这两个实例都将作为单独的主节点出现。他们没有形成集群,因为他们无法发现它们。
我也试过下面的 zen 单播变体,但 none 对我有用
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_host
和 network.publish_host
设置为相同的 IP 地址。
我正在尝试部署一个 2 节点 elasticsearch 集群。
我有 2 个 VM,如下所示:
VM1 -> 10.20.1.4 (CentOS7)
VM2 -> 10.20.1.5 (CentOS7)
我已经安装了 java8 作为上述两个虚拟机的先决条件。
从下面 link 下载了 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"]
但是使用这种配置,当我使用 tart elasticsearch 实例时,这两个实例都将作为单独的主节点出现。他们没有形成集群,因为他们无法发现它们。
我也试过下面的 zen 单播变体,但 none 对我有用
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_host
和 network.publish_host
设置为相同的 IP 地址。