因为磁盘空间满了导致es集群分片unassigned的原因排查
转载自博客:https://blog.csdn.net/lengyer/article/details/121405768
1.查看问题和原因
方法一:
Linux上
curl -XGET localhost:9200/_cat/shards?h=index,shard,prirep,state,unassigned.reason| grep UNASSIGNED
方法二:
Elasticsearch Head上
常见集群返回的原因:
1)INDEX_CREATED:由于创建索引的API导致未分配。
2)CLUSTER_RECOVERED:由于完全集群恢复导致未分配。
3)INDEX_REOPENED :由于打开open或关闭close一个索引导致未分配。
4)DANGLING_INDEX_IMPORTED :由于导入dangling索引的结果导致未分配。
5)NEW_INDEX_RESTORED :由于恢复到新索引导致未分配。
6)EXISTING_INDEX_RESTORED:由于恢复到已关闭的索引导致未分配。
7)REPLICA_ADDED:由于显式添加副本分片导致未分配。
8)ALLOCATION_FAILED :由于分片分配失败导致未分配。
9)NODE_LEFT :由于承载该分片的节点离开集群导致未分配。
10)REINITIALIZED :由于当分片从开始移动到初始化时导致未分配(例如,使用影子shadow副本分片)。
11)REROUTE_CANCELLED :作为显式取消重新路由命令的结果取消分配。
12)REALLOCATED_REPLICA:确定更好的副本位置被标定使用,导致现有的副本分配被取消,出现未分配。
生产环境存在下面的原因可能会引起节点断联
1、第一种网络抖动,导致master节点和node节点的通信无法连接,导致es集群的master节点认为节点断联,这个时候可以设置下面的方式进行优化
# 手动设置分配延迟时间
PUT /<index-name>/_settings
{
"settings": {
"index.unassigned.node_left.delayed_timeout": "30s"
}
}
2、第二种情况,就是当前的node节点已经远远超过负荷了,CPU和内存使用率非常高,这边时候这台机器上面存在大量的索引和分片,导致
该节点和master通信出现问题,节点断链,这个时候可以删除这个节点上面无效的索引或者长期过期的索引来解决这个问题
3、第三张情况,因为节点的磁盘空间满了,超过了水位线,这个时候该node节点上面的所有的索引会设置为只读,并且该节点上面的所有的分片会重新rebalance到其他节点上面去。
下面的情况就是第三点引起的。
找到原因后:
查看是不是节点宕了。
kibana上看见节点运行正常,但是没有分片分配到节点。
在kibana的工具里:
# 设置自动分配
PUT /_cluster/settings
{
"transient":{
"cluster.routing.allocation.enable" : "all"
}
}
# 手动设置分配延迟时间
PUT /<index-name>/_settings
{
"settings": {
"index.unassigned.node_left.delayed_timeout": "30s"
}
}
# 当磁盘利用率达到85%时,主节点将不再分配分片至该节点
PUT /_cluster/settings
{
"transient": {
"cluster.routing.allocation.disk.watermark.low":"90%"
}
}
查看zabbix结果发现是磁盘只剩下百分之12,已经没有空间了。设置磁盘的最大利用率只能设置到百分之90.
设置完后,就会开始自动分配分片到节点。问题解决~!!!!!!!!!!!!!!
参考连接:
ES分片未分配问题总结_sonia_liss的博客-CSDN博客_es分片未分配
elasticsearch未分配原因 - aemnprsu_wx - 博客园
解决ES分片未分配的问题_kezhen的专栏-CSDN博客
ES分片未分配问题总结_sonia_liss的博客-CSDN博客_es分片未分配
posted on 2024-04-19 14:05 luzhouxiaoshuai 阅读(361) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
2018-04-19 尚硅谷ajax视频教程2
2018-04-19 尚硅谷ajax视频教程1