我有两个节点的集群,并为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之后,第一个问题就会消失。
答案 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它帮助..!