elasticsearch重启时间过长

vbkedwbf  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(608)

我有一个四节点的elasticsearch集群。在我向集群中插入大约100g数据后,我重新启动了集群。我发现恢复碎片需要花费大量时间。我注意到:
所有主碎片都通过网关从本地节点恢复,恢复速度非常快。
所有副本碎片都从主碎片恢复,我发现副本碎片似乎是从主碎片所在的节点复制到集群中的另一个节点。
在我完成了第一次长时间重启之后,我关闭了集群并再次重启集群,只花了几分钟
我很困惑,为什么我的碎片复制再次当我重新启动集群时,我的节点中的原始副本数据在哪里?
我读过一些相关的问题,如:
elasticsearch中节点重启后的快速恢复
https://www.elastic.co/guide/en/elasticsearch/reference/1.7/indices-synced-flush.html
但是它不起作用,当我第一次重新启动集群时,我可以停止跨节点的shard迁移吗?

y1aodyip

y1aodyip1#

副本恢复得慢一点是可以的。当主碎片被恢复时,集群是可用的并且应该是黄色的。它可以接受查询,并将为此提供优先级,从而限制其他操作,如编写副本。
你引用的两个链接很有帮助。当一个节点不在时,集群会认为它已经坏了,然后开始疯狂地重新洗牌。当一个节点因为短暂的重新启动或者有点晚而离开时,这是没有意义的。在这些情况下,设置和禁用分配会有所帮助。另外,更新的版本也需要等待一段时间(https://www.elastic.co/guide/en/elasticsearch/reference/current/delayed-allocation.html).
关于同步刷新的链接也是一个很好的链接。这意味着更快地重建副本。但以我的经验来看,这并没有快多少。

相关问题