线上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"