Elasticsearch 设置节点分片上限

Elasticsearch 设置节点分片上限

最近突然发现后台的日志索引不是最新的了,经排查日志服务的Elasticsearch 索引达数量上限

Elasticsearch 写入不了更多的索引的原因

Elasticsearch 写入不了更多的索引,经搜索发现是分片数量不足造成的,Elasticsearch 默认的分片上限1000网上一般给出的解决方法是增加这个上限,比如增加到10000:

更新节点分片上限

  • 确认下是否设置过节点数量
GET /_cluster/settings
PUT /_cluster/settings
{
    "transient": {
        "cluster": {
            "max_shards_per_node":10000
        }
    }
}

  • 但是重启Elasticsearch 后,配置会消失。 transient 的参数是临时生效的,重启后丢失
    所以要使用 persistent,改进配置如下
PUT /_cluster/settings
{
    "persistent": {
        "cluster": {
            "max_shards_per_node":10000
        }
    }
}

  • 再查询一次
GET /_cluster/settings

结果

{
  "persistent" : {
    "cluster" : {
      "max_shards_per_node" : "10000"
    },
    "xpack" : {
      "monitoring" : {
        "collection" : {
          "enabled" : "true"
        }
      }
    }
  },
  "transient" : { }
}

原文地址:https://www.cnblogs.com/WNpursue/p/13396993.html