我有4个节点& 5个分片弹性搜索(0.90.3)群集。重新启动时,我看到5个分片中有4个未分配,群集状态为红色。所以我假设它重新启动的方式不对。每个节点在30秒间隔内发出一个kill(SIGKILL)命令。意味着某个节点被杀死了,30秒后其他3个节点中的其他节点被杀死了。等等。
我尝试this解决方案重新分配了分片,但在我使用this方法手动将主分片分配到群集之前,没有任何工作。但手动分配主分片会重置分片的数据,从而导致丢失。
如何避免陷入未分配的分片问题?如果我遇到这个问题,那么在没有数据丢失的情况下恢复的方法是什么?
答案 0 :(得分:2)
重新启动群集的正确方法是使用rolling restart执行shutdown API。
这适用于:
您可能希望增加indices.recovery.max_bytes_per_sec
和cluster.routing.allocation.node_concurrent_recoveries
以加快步骤5.虽然群集为黄色,但某些分片将被取消分配(因为它们位于重新启动的节点上),但是这样不是问题。读取和写入仍然可以正常工作。