Elasticsearch 集群健康值红色解决方法

通过http://10.2.83.29:9100/ 查询集群状态为红色,说明部分主分片不可用

head插件会以不同的颜色显示。

绿色——最健康的状态,代表所有的主分片和副本分片都可用;
黄色——所有的主分片可用,但是部分副本分片不可用;
红色——部分主分片不可用。

什么是unassigned 分片?

一句话解释:未分配的分片。 
启动ES的时候,通过Head插件不停刷新,你会发现集群分片会呈现紫色、灰色、最终绿色的状态。

为什么会出现 unassigned 分片?

如果不能分配分片,例如,您已经为集群中的节点数过分分配了副本分片的数量,则分片将保持UNASSIGNED状态。 
其错误码为:ALLOCATION_FAILED。

解决方法:

定位 UNASSIGNED 的节点和分片。

curl -s 'localhost:9200/_cat/shards' | fgrep UNASSIGNED  

 

删除UNASSIGNED 的节点和分片。

 curl -XDELETE `curl http://localhost:9200/_cat/shards?h=index,shard,prirep,state,unassigned.reason | grep UNASS | awk '{print "http://localhost:9200/" $1}'`

 

以上我产生红色集群状态的原因是因为空间满了没有及时清理

参考博客:

http://www.360doc.com/content/21/1224/14/13042814_1010145773.shtml

posted @ 2022-10-28 10:29  学的都会  阅读(190)  评论(0编辑  收藏  举报