以下是事件的顺序:
节点群集(node = N-1)(节点本身是主节点)
5个索引:每个12个分片(总共60个分片)
扩展集群并添加2个副本(N-2和N-3)
副本已初始化,但#ActiveShards直到60(为什么不是180?)
主节点(N-1)离开群集(原因:shut_down)
ActiveShards直到60,群集为绿色
选择了新的主服务器(N-3),并且群集仍为绿色
原始节点(N-1)在约50分钟后重新加入群集,并接受新的主节点(N-3)。
此后不久,群集变成红色,并且多个主分区和其次分区未分配。
我有以下问题:
1. When the 2 nodes(N-2 and N-3) joined the cluster(see step 2 above), cluster was green
but the number of ActiveShards was still 60(why not 180?)
2. Why did cluster turn red soon after the node(N-1) rejoined the cluster?
3. Node restart did not help or trigger re-allocation.
4. Cluster reroute not do anything. Why?
我可以看到节点(N-1)的磁盘上有可用的分片,但是ES没有 将它们识别为有效碎片。
最终,我不得不将'index.recovery.initial_shards'设置为1。在所有分片重新分配后不久。如何以及为什么?