处理存在UNASSIGNED的主分片导致Elasticsearch集群状态为Red的问题

  我们默认是开启了自动分配的,但仍然会因为服务器软硬件的原因导致分配分配失败,从而出现UNASSIGNED的分片,如果存在该状态的主分片则会导致集群为Red状态。此时我们可以通过reroute API进行手动再次分配分片。

  在Sense中的命令如下:

POST /_cluster/reroute
{
  "commands": [
        {
          "allocate" : {
              "index" : $index, "shard" : $shard, "node" : $node,"allow_primary" : true
          }
        }
    ]
}

 

$index: 分片索引名

$shard: 为需要分配的分片编号(从0开始)

$node: 节点名称

allow_primary: 如果存在主分片需要设置将此项设置为true,不然会出现错误

 

上述信息可以通过端点:

GET /_cat/shards

找到其中状态为UNASSIGNED的行。

 

posted on 2017-06-22 10:05  xzysaber  阅读(402)  评论(0编辑  收藏  举报

导航