【问题标题】:Scaling Elasticsearch via large shard count通过大量分片扩展 Elasticsearch
【发布时间】:2015-11-19 09:33:21
【问题描述】:

我有兴趣建立一个 Elasticsearch 集群。最初,节点很少(即 3 个节点),但最终计划是将其扩展到数千个节点。文档指出:“主分片的数量在创建索引时是固定的。”这意味着如果我从三个分片开始,以后添加更多节点将无法获得任何优势。这是否意味着我最初应该使用 10,000 个分片创建索引,即使我最初只有 3 个节点?这将使我能够扩展到 10,000 个节点,对吗?

【问题讨论】:

  • 第一个问题,当然不是!您进行基准测试并设置适当数量的分片。如果你想添加一个或两个节点,你不会失去任何性能。不过,如果您需要添加 10000 个节点。您将不得不再次进行基准测试并进行选择。通过单独添加节点,Elasticsearch 非常容易扩展。
  • 文档说:You cannot change the number of primary shards in an index, once the index is created 这意味着我不能在不重新创建索引的情况下添加更多节点,除非我一开始有很多分片。
  • 如果要更改分片的数量,您必须再次重新创建索引,因此重新索引。我所说的只是你必须进行基准测试才能决定分片的数量。
  • 当然,零停机时间无法完成重新索引。
  • 我明白这一点,但我的季节性流量相差几个数量级。我希望有一个系统可以扩展,停机时间为 0。如果真的是这样,elasticsearch 就没有什么“弹性”了。

标签: elasticsearch


【解决方案1】:

您可以尝试使用 _split api 放大,使用 _shrink api 缩小。

https://www.elastic.co/guide/en/elasticsearch/reference/6.5/indices-split-index.html#

POST my_source_index/_split/my_target_index?copy_settings=true
{
  "settings": {
    "index.number_of_shards": 50 
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-18
    • 2017-11-23
    • 2020-05-20
    • 1970-01-01
    • 2018-04-29
    • 1970-01-01
    • 1970-01-01
    • 2013-04-24
    相关资源
    最近更新 更多