Elasticsearch 分片down(unassigned shard)常用处理方式

近期多次出现ES集群上报"Elasticsearch实例存在down状态的主分片"或"Elasticsearch实例存在down状态的副本分片",对该问题现象的处理步骤和方法进行总结。

【可能原因】

问题参考: https://github.com/elastic/elasticsearch/issues/23199

【处理步骤】

  1. 登录任意EsNode1节点,执行如下命令查看down分片以及原因,其中unassigned.reason列内容指的是分配unassigned原因。

curl -XGET --negotiate -k -u : "https://ip:port/_cat/shards/indexname?v&h=index,shard,prirep,state,node,ur" | grep UNASSIGNED

说明:indexname,待查询分片列表的索引名称

  1. 分片UNASSIGNED的原因包括:

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. 若unassigned.reason为"ALLOCATION_FAILED",可以尝试手动重新分片,命令如下:

curl -XPOST --tlsv1.2 --negotiate -k -u : "https://ip:port/_cluster/reroute?retry_failed=true"

问题参考: https://github.com/elastic/elasticsearch/issues/23199

  1. 执行解释API查看分片UNASSIGNED的详细原因, 请求中的三个参数可以在步骤1执行命令结果中查询到,第一列为索引名称,第二列为分片编号,第三列为是否主分片。

curl -XGET --negotiate -k -u : "https://ip:port/_cluster/allocation/explain?pretty" -H 'Content-Type:application/json' -d '{

"index": "indexname",

"shard": 17,

"primary": true

}'

说明:"index"字段值替换为_cat/shards命令查询结果中第一列的索引名称。"shard"字段值替换为_cat/shards命令查询结果中第二列的分片编号。"primary"字段的值表明要查询的分片是主还是副本,如果_cat/shards命令查询结果中第三列的值为p,说明是主分片,否则是副本分片。

  1. 分析explain命令的输出结果,若输出结果中包含"explanation"字段,查看该字段内容是否有推荐处理方式。如果有推荐修复方式,优先执行。

  2. 分析第1步_cat/shards命令中处于UNASSIGNED状态的分片,是否集中在少数几个EsNode实例中,如果是,可以尝试单独重启这几个ES实例,触发分片再次恢复。

相关推荐
一只鹿鹿鹿8 分钟前
智慧能源大数据平台建设方案(PPT)
java·大数据·数据库·能源
深蓝易网20 分钟前
深度拆解!MES如何重构生产计划与排产调度全流程?
大数据·运维·人工智能·重构·架构·制造
intcube21 分钟前
集中运营、分散决策,寻找最佳财务规划的平衡点
大数据·信息可视化·数据分析·全面预算管理·财务管理·财务规划
时序数据说29 分钟前
IoTDB 分段查询语句深度剖析:GROUP BY 与时序语义的完美结合
大数据·数据库·开源·时序数据库·iotdb
Light601 小时前
Spark在大数据ETL中的应用:数据清洗与转换实战
大数据·spark·etl·数据清洗·数据转换
人大博士的交易之路2 小时前
今日行情明日机会——20250512
大数据·数学建模·数据挖掘·缠论·缠中说禅·涨停回马枪
庄小焱2 小时前
数据治理域——数据治理体系建设
大数据·数据治理·系统设计·数仓系统设计
芯盾时代2 小时前
数据出境的安全合规思考
大数据·人工智能·安全·网络安全·信息与通信
不学会Ⅳ3 小时前
【吃透 Elasticsearch 的核心原理】学习步骤
大数据·学习·elasticsearch
李昊哲小课5 小时前
tensorflow-cpu
大数据·人工智能·python·深度学习·数据分析·tensorflow