线上elasticsearch unassigned shards 导致RED解决

先通过命令查看节点的shard分配整体情况

curl -X GET "ip:9200/_cat/allocation?v"

 

 说明:有16个索引未分片

2、查看未分片的索引

curl -XGET ip:9200/_cat/shards?h=index,shard,prirep,state,unassigned.reason| grep UNASSIGNED

说明:第一列索引名称、第二列分片名称、第三列主分片还是副本分片(p:主分片,r:副分片)、第四列分片状态、第五列未分片原因(DANGLING_INDEX_IMPORTED:由于有一个节点挂了一段时间,在这期间这16个索引已经被删除,后面我们重启这个节点重新加入集群后就出现Dangling问题了)

解决办法:

1、需要手动删除这16个索引,命令

curl -X DELETE "ip:9200/index_name?pretty"

返回"acknowledged" : true代表删除成功

 2、再查看集群状态

curl -X GET "ip:9200/_cat/health"

 

posted @ 2020-06-15 19:39  非洲羚羊  阅读(642)  评论(0编辑  收藏  举报