Elasticsearch集群在多台机器上 - 主选举

时间:2014-04-16 15:12:03

标签: elasticsearch cluster-computing

我正在尝试实现elasticsearch集群。我有2台机器,每台机器有2个节点。我在yml文件中进行了以下配置。我在每个节点上都给出了唯一的节点名称,它们都是主节点和数据节点。

cluster.name: elasticsearch
node.master: true
node.data: true
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts: ["machine1", "machine2"]
discovery.zen.minimum_master_nodes: 3

四个节点在群集中正常工作。我想将其中一个节点关闭,并在群集中运行其他3个节点。当我尝试使用前三个中的一个时,群集关闭,我收到此错误

{
   "error": "ClusterBlockException[blocked by: [SERVICE_UNAVAILABLE/1/state not recovered / initialized];]",
   "status": 503
}

如果我关闭加入群集的最后一个节点,群集工作正常。我的理解是,如果我有4个主人,其中一个主人(任何人)失败,其他三个主人应该在集群中运行。我的配置有什么问题吗?

1 个答案:

答案 0 :(得分:2)

如果您在一台计算机上运行节点,最好将端口添加到配置中。

 discovery.zen.ping.unicast.hosts: ["machine1:9300", "machine2:9300", "machine2:9301"]

还要自己配置端口,以便知道哪个节点具有哪个端口:

 transport.tcp.port: 9300
 http.port: 9200