es7.17.x es服务yellow状态的排查&查看节点,分片状态数量

目录

一 查看集群节点,分片的状态的命令

1.1 查看节点数

1.1.1 方式1

1.1.2 方式2

1.1.3 方式3

1.1.4 总结

1.2 查看分片数量

二  es服务状态为yellow的排查

2.1 问题描述

2.2 排查步骤

2.2.1 确认索引状态

2.2.2 案例

2.2.3 根本原因

2.2.4 解决办法

2.3 解决办法实操


一 查看集群节点,分片的状态的命令

1.1 查看节点数

1.1.1 方式1

方式1:http://localhost:9200/_cat/nodes?v


1.1.2 方式2

方式2:http://localhost:9200/_cluster/health?pretty

说明:

"number_of_nodes": 3,       // 集群总节点数
  "number_of_data_nodes": 3,  // 数据节点数

1.1.3 方式3

方式3:http://localhost:9200/_nodes?pretty

1.1.4 总结

1.2 查看分片数量

http://localhost:9200/student/_settings

二  es服务状态为yellow的排查

2.1 问题描述

当 Elasticsearch 集群状态变为 Yellow 时,表示所有主分片已分配,但部分副本分片未分配

2.2 排查步骤

2.2.1 确认索引状态

http://localhost:9200/_cluster/health?level=indices&pretty

可以看到: "unassigned_shards": 3 // 未分配的副本分片数

2.2.2 案例:/_cluster/allocation/explain

在kibanna执行命令:post /_cluster/allocation/explain

显示结果如下:

3.核心内容“"a copy of this shard is already allocated to this node"
[[bocal-knowledge-repository][0], node[51qhp_fMQGyAMdm9C4x1K0], [P], s[STARTED]]”

4.分析如下:

4.1)根本问题:分片分配冲突

4.2)冲突类型:same_shard规则冲突

4.3)具体原因:

    节点 BOCAIES01 (ID: 51qhp_fMQGyAMdm9C4x1K0) 上已存在该分片的主分片

   Elasticsearch 禁止将同一分片的副本分配到已包含主分片的节点

4.4)其它辅助信息

索引名称:bocal-knowledge-repository

分片号:0

[P]: 表示主分片(Primary)

s[STARTED] 表示分片已正常启动

未分配原因:INDEX_CREATED(索引创建时产生的副本分片)

集群状态:所有节点决策均为 NO

分片类型:副本分片 ("primary": false)

2.2.3 根本原因

该索引的副本分片无法分配到任何节点,因为:

1.集群中只有一个数据节点 (BOCAIES01)

2.该节点已包含分片 0 的主分片

3.Elasticsearch 的 same_shard 规则禁止将副本分配到已有主分片的节点

2.2.4 解决办法

1.增加集群节点数

2.增加分片数的设置,单节点的话,设置副本为0;集群的节点数大于2,自己根据情况进行设置
 

2.3 解决办法实操

通过增加节点解决此问题后,执行健康检查:
GET /_cluster/health/your-indexName?pretty
预期返回:"status": "green" 和 "unassigned_shards": 0

 本案例为单节点,所以这里设置副本为0;

查看结果:http://localhost:9200/_cluster/health/product?level=indices&pretty

DeepSeek

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值