我们默认是开启了自动分配的,但仍然会因为服务器软硬件的原因导致分配分配失败,从而出现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的行。