我有一个4个节点&5个碎片弹性搜索(0.90.3)集群。在重新启动时,我看到5个碎片中有4个未分配,集群状态为红色。所以我假设重新启动的方式是不对的。在30秒的间隔内,每个节点都被发出一个杀死(SIGKILL)命令。这意味着一些节点被杀死,30秒后,剩下的3个节点中的另一个节点被杀死&依此类推。
我尝试过这解决方案重新分配碎片,但在使用这方法手动将主碎片分配到集群之前,没有任何工作。但是一次碎片的手工分配会重新设置碎片的数据,造成损失。
如何避免陷入未分配的碎片问题?如果我被这个问题困住了,那么如何才能在不丢失数据的情况下恢复呢?
发布于 2015-01-13 10:56:13
重新启动集群的正确方法是使用滚动重新启动执行关机API。
这项工作是通过以下方式进行的:
您可能希望增加indices.recovery.max_bytes_per_sec和cluster.routing.allocation.node_concurrent_recoveries以加快步骤5。虽然集群是黄色的,但一些碎片将被取消分配(因为它们位于重新启动的节点上),但这不是问题。读写仍然可以正常工作。
https://stackoverflow.com/questions/22978812
复制相似问题