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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统