ES运维常见的十个故障诊断指令汇总

发布时间 2023-09-09 15:46:26作者: 孙龙-程序员

文章目录
1、查询分配未分配的原因
1.1 问题场景描述
1.2 诊断方式
1.3 解决方案
1.4 所有 12 种分片未分配原因汇总
2、查询集群的健康状况
2.1 健康状态
2.2 查看状态信息
3、查看集群中所有节点的节点属性
3.1 常见使用场景
4、查看集群中所有节点的分配信息
4.1 常见使用场景
5、查询集群/索引的文档总计数
5.1 常见使用场景
6、查询集群的分片分配信息
6.1 常见使用场景
6.2 使用案例
7、查询集群中索引的分片数、文档数或集群中包含哪些索引
7.1 常见应用场景
7.2 使用
8、查询集群的快照存储信息
8.1 常见使用场景
8.2 使用
9、查看集群状态信息
9.1 常见使用场景
10、查看集群统计信息
10.1 描述
10.2 使用

1、查询分配未分配的原因
1.1 问题场景描述
学习 Elasticsearch 最常遇到的一种情况:分片未分配


索引未分配的原因有很多种,准确的说有一共有 12 种。对于很多人来说,没有多年ES使用经验很难马上判断出索引未分配的原因,只能在网上去搜,然后一种一种方法的去试。线上出问题时间是分秒必争的。这就要求必须在最短的时间内定位问题。

1.2 诊断方式
_cluster/allocation/explain
1
以下为查看my_index编号为 0 的副本分片的未分配原因



以下为查询结果核心代码

{
"node_id" : "bgLGquyZSeOKbFBTJECjOQ",
"node_name" : "node1",
"transport_address" : "127.0.0.1:9302",
"node_attributes" : {
"rack" : "rack1",
"xpack.installed" : "true",
"transform.node" : "false"
},
"node_decision" : "no",
"deciders" : [
{
"decider" : "filter",
"decision" : "NO",
"explanation" : """node does not match index setting [index.routing.allocation.require] filters [_name:"node3"]"""
}
]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
原因:node does not match index setting [index.routing.allocation.require] filters [_name:“node3”]

由此可见,索引分片未分配原因为分片过滤器阻挡了分片分配,查询到病症,方可对症下药。关闭过滤器即可