【问题标题】:Elasticsearch 1.5.2 shared allocation stuckElasticsearch 1.5.2 共享分配卡住
【发布时间】:2016-05-02 09:07:39
【问题描述】:

我有一个具有以下规格的集群(es v 1.5.2):

  • 3 个节点,RAM:32GB,CPU 内核:每个 8 个
  • 63 个总指数 = 32 个奇迹 + 1 个 kibana + 30 个数据
  • 366 个总分片 =(32 个 marvel + 1 个 kibana + 150 个数据)* 1 个副本
  • 总共 959,231,444 个文档
  • 588.38GB 总数据
  • ES_HEAP_SIZE=16g

我已成功删除了大约 200 个空索引并重新启动了集群 - 通常分配需要 1 小时才能完成,但现在已经超过 12 小时,我仍然有 183 个未分配的共享。

另外,我可以看到 node1 只分配了 6 个分片——大部分数据分片在 node2 和 node3 之间是分开的。我尝试重新启动 node1 并仍然遇到相同的情况。为什么不用更多的分片呢?

可能是什么问题,我怎样才能使分配更快并完成?

【问题讨论】:

  • 在重新启动节点之前您可能没有disable shard allocation,是吗?这是一个很好的做法,每当您必须重新启动节点以防止不必要的分片重新分配时。
  • 我没有,但是为什么现在花了这么长时间?之前它更快......现在我怎样才能让它更快?等待 12 多个小时才能完成共享分配似乎是不正常的。
  • 可能是因为在您关闭一个节点并将其重新启动期间,一些新文档已被索引,现在主分片和副本分片不再同步 (read more here)。不幸的是,你现在不能让它更快,你只需要等待它完成。下次只需确保在重启期间正确禁用分片分配,然后重新启用即可。
  • 是的,我一直都有新文档索引...所以现在需要 12 多个小时并不奇怪?
  • 很遗憾没有。您可以使用命令curl -XGET localhost:9200/_cat/shards 来了解哪些分片仍需要分配。

标签: elasticsearch


【解决方案1】:

好的,我找到了解决方案 - 我只是 update indices settings 通过将所有索引的副本数设置为 0,然后集群运行状况变为绿色,最后通过设置副本数再次更新设置所有的指数都回到 1。

集群开始正常分配分片(也分配给 node1)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-24
    • 1970-01-01
    • 2014-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-23
    相关资源
    最近更新 更多