目录
[一 查看集群节点,分片的状态的命令](#一 查看集群节点,分片的状态的命令)
[1.1 查看节点数](#1.1 查看节点数)
[1.1.1 方式1](#1.1.1 方式1)
[1.1.2 方式2](#1.1.2 方式2)
[1.1.3 方式3](#1.1.3 方式3)
[1.1.4 总结](#1.1.4 总结)
[1.2 查看分片数量](#1.2 查看分片数量)
[二 es服务状态为yellow的排查](#二 es服务状态为yellow的排查)
[2.1 问题描述](#2.1 问题描述)
[2.2 排查步骤](#2.2 排查步骤)
[2.2.1 确认索引状态](#2.2.1 确认索引状态)
[2.2.2 案例](#2.2.2 案例)
[2.2.3 根本原因](#2.2.3 根本原因)
[2.2.4 解决办法](#2.2.4 解决办法)
[2.3 解决办法实操](#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 案例
在kibanna执行命令:
显示结果如下:

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](http://localhost:9200/_cluster/health/product?level=indices&pretty "http://localhost:9200/_cluster/health/product?level=indices&pretty")  [DeepSeek](https://chat.deepseek.com/a/chat/s/c539d883-f9ba-4a01-87d4-d016734ed717 "DeepSeek")