ElasticSearch重新开始花费很长时间

时间:2016-02-25 06:38:44

标签: node.js database hadoop elasticsearch

我有一个四节点ElasticSearch集群。在我将大约100G数据插入集群后,我重新启动集群。我发现它需要花费大量时间来恢复分片。我注意到:

  1. 所有主分片都通过网关从本地节点恢复,它恢复得非常快。
  2. 所有副本分片从主分片恢复,我发现副本分片似乎从主分片的节点复制到群集中的另一个节点。
  3. 在我完成第一次长时间重启后,然后我关闭了我的群集并再次重启我的群集,只花了几分钟
  4. 当我重新启动群集时,为什么我的分片会再次复制,我的节点中的原始副本数据在哪里?我很困惑?

    我读过一些相关问题,例如:

    quick recovery after node restart in elasticsearch

    https://www.elastic.co/guide/en/elasticsearch/reference/1.7/indices-synced-flush.html

    但它没有用,我可以在第一次重新启动群集时停止跨节点的分片迁移吗?

1 个答案:

答案 0 :(得分:2)

复制品恢复缓慢是可以的。恢复主分片后,群集可用并且应为黄色。它可以接受查询,并为此提供优先级,限制其他操作,如编写副本。

您引用的两个链接很有帮助。当一个节点消失时,集群认为它已经坏了并开始像疯了一样重新洗牌。当节点短暂重启或稍晚时,这没有意义。在这些情况下,设置和禁用分配会有所帮助。此外,较新的版本稍稍等待(https://www.elastic.co/guide/en/elasticsearch/reference/current/delayed-allocation.html)。

有关同步刷新的链接也很好。这意味着更快地重建副本。根据我的经验,它的速度并不快。