确保群集状态的最小节点数是绿色的?

时间:2014-06-06 03:43:21

标签: elasticsearch

我有两个节点的集群,并为shard number和replica number设置配置如下:

  

index.number_of_shards:10
    index.number_of_replicas:1

自动选择主节点。

在索引数据之前,群集的状态为绿色。索引数据后,群集的状态变为黄色。某些副本分片未分配。

但是如果我添加另一个节点,现在集群由三个节点组成,那么我索引数据并且集群的状态变为绿色。

我使用的ES版本是1.1。

问题1:
    如果副本号为1,是否必须至少有3个节点才能确保群集状态为绿色?

问题2:
    我观察到三个节点中的一个(不是主节点)只有主节点。 ES用于分配主要/ replia分片的机制是什么?

提前致谢。

更新

第一个问题是由不同版本的ES引起的。在我之前的测试中,一个节点使用ES-1.1.1,另一个节点使用ES-1.1.2。在群集的每个节点使用相同版本的ES之后,第一个问题就会消失。

1 个答案:

答案 0 :(得分:2)

答案1) 如果你提到

 index.number_of_shards: 10
 index.number_of_replicas: 1

这意味着您的索引被拆分为10个分片,1个副本意味着索引的每个分片都有一个副本分片。因此,您将完全拥有20个分片。

在ES中,主分片和副本分片未在同一节点中分配。因此,如果您有1个副本,则必须有2个节点才能使节点状态保持绿色。

 Number of nodes to keep the cluster state green=NO of replica+1

答案2) 在索引的分片中,ES选择一个主分片进行写入。没有必要,主节点应该包含主分片.Shards是如果节点出现包含主分片的故障,则相应的副本分片将变为主分片。您将保存数据。

了解ES Refer

的基础知识

HOpe它帮助..!