首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >弹性搜索:重新启动集群的正确方法,无需发出未分配的碎片问题

弹性搜索:重新启动集群的正确方法,无需发出未分配的碎片问题
EN

Stack Overflow用户
提问于 2014-04-10 04:43:14
回答 1查看 7.1K关注 0票数 1

我有一个4个节点&5个碎片弹性搜索(0.90.3)集群。在重新启动时,我看到5个碎片中有4个未分配,集群状态为红色。所以我假设重新启动的方式是不对的。在30秒的间隔内,每个节点都被发出一个杀死(SIGKILL)命令。这意味着一些节点被杀死,30秒后,剩下的3个节点中的另一个节点被杀死&依此类推。

我尝试过解决方案重新分配碎片,但在使用方法手动将主碎片分配到集群之前,没有任何工作。但是一次碎片的手工分配会重新设置碎片的数据,造成损失。

如何避免陷入未分配的碎片问题?如果我被这个问题困住了,那么如何才能在不丢失数据的情况下恢复呢?

EN

回答 1

Stack Overflow用户

发布于 2015-01-13 10:56:13

重新启动集群的正确方法是使用滚动重新启动执行关机API

这项工作是通过以下方式进行的:

  1. 禁用碎片分配
  2. 重新启动一个节点(集群变为黄色)
  3. 等待直到它重新加入集群。
  4. 重新启用碎片分配
  5. 等待碎片重新分配(集群变绿)
  6. 在其他节点上重复。

您可能希望增加indices.recovery.max_bytes_per_seccluster.routing.allocation.node_concurrent_recoveries以加快步骤5。虽然集群是黄色的,但一些碎片将被取消分配(因为它们位于重新启动的节点上),但这不是问题。读写仍然可以正常工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22978812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档