【问题标题】:Elasticsearch shard re-allocationElasticsearch 分片重新分配
【发布时间】:2016-06-26 07:13:37
【问题描述】:

据我了解,elasticsearch 中的分片是通过内部机制分布在所有数据节点之间的。

但是,我有以下观察 -

  • 如果我们没有做任何索引并添加了一个新的数据节点,分片就会分布在两个节点之间。
  • 但是,如果已经完成了一些索引,之后会添加一个新节点 那么分片不会自动分配。我必须搬家 它们通过集群重新路由手动进行。

这是预期的行为吗?

手头的问题是我一开始只有一个节点,5 个分片,没有副本。该索引包含大约 100 GB 的数据。现在我想添加一个新的数据节点。

我的问题 -

  • 在决定跨节点移动分片之前,elasticsearch 是否需要一些时间?
  • 对于已经存在索引数据的集群,手动集群重新路由是移动分片的唯一方法吗?

注意 - 集群重新路由工作正常。但是,这些问题将帮助我规划未来。

TIA

【问题讨论】:

    标签: elasticsearch sharding


    【解决方案1】:

    如果您需要在添加节点后立即分发分片,则必须手动执行重新路由。即使您不手动运行它,在一段时间后,elasticsearch 也会均匀地分配您的分片。

    您可以使用一些关于分片重新平衡的配置选项

    index settings

    "index.routing.allocation.total_shards_per_node": 1
    

    在“集群设置”中

    "transient":{
        "cluster.routing.allocation.cluster_concurrent_rebalance": 1
    }
    

    配置参数本身解释了它们存在的目的,您可以修改值并查看它们如何为您工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-04
      • 1970-01-01
      • 2014-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-28
      • 2019-11-03
      相关资源
      最近更新 更多