原文网址:ElasticSearch--排查集群健康状态是Red、Yellow的问题_IT利刃出鞘的博客-CSDN博客
简介
说明
本文介绍ElasticSearch的红色、黄色、绿色状态的含义以及如何将其变为绿色(恢复正常)。
相关网址
ElasticSearch--查看健康状态(health)的方法(API)_IT利刃出鞘的博客-CSDN博客
什么是副本?
在一个网络/云的环境里,失败随时都可能发生,在某个分片/节点不知怎么的就处于离线状态,或者由于某种原因消失了,这种情况下,有一个故障转移机制非常有用,并且也是强烈推荐的。为此,Elasticsearch允许你创建分片的一份或多份拷贝,这些拷贝叫作复制分片,或者直接叫副本。
副本之所以重要,有以下两个主要原因:
- 在分片/节点失败的情况下,保证高可用性。因为这个原因,复制分片不与主分片置于同一节点上,这一点非常重要。
- 扩展你的搜索量/吞吐量,因为搜索可以在所有的副本上并行运行。
总结:每个索引可以被分成多个分片,一个分片可以有一至多个副本。一旦有了副本,每个索引就有了主分片(作为复制源的原来的分片)和副本分片(主分片的拷贝)之别。分片和副本的数量可以在索引创建的时候指定。在索引创建之后,可以在任何时候动态地改变副本的数量,但是事后不能改变分片的数量。
颜色的含义
颜色 | 含义 | 影响 |
绿色 | 所有的主分片和副本分片都可用。 | 这是最健康的状态。 |
黄色 | 所有的主分片可用,但至少一个副本分片不可用。 | 数据都是可用的。 搜索性能下降;数据有丢失风险。 |
红色 | 至少一个主分片不可用。 | 一些数据以及索引的某些部分不可用。 部分数据仍然可以查到。 |
未分片的原因(unassigned)
正常情况导致的
下边这些会导致unassigned,但过一会儿一般能自动恢复正常。
- INDEX_CREATED
- 由于 create index api 创建索引导致,索引创建过程中,把索引的全部分片分配完毕需要一个过程,在全部分片分配完毕之前,该索引会处于短暂的 RED 或 YELLOW 状态。因此监控系统如果发现集群 RED,不一定代表出现了故障。
- CLUSTER_RECOVERED
- 集群完全重启时,所有分片都被标记为未分配状态,因此在集群完全重启时的启动阶段,reason属于此种类型。
- INDEX_REOPENED
- open 一个之前 close 的索引, reopen 操作会将索引分配重新分配。
- NEW_INDEX_RESTORED
- 从快照恢复到一个新索引。
- EXISTING_INDEX_RESTORED,
- 从快照恢复到一个关闭状态的索引。
- REPLICA_ADDED
- 增加分片副本。
- NODE_LEFT
- 由于节点离线。
- REROUTE_CANCELLED
- 由于显式的cancel reroute命令。
- REINITIALIZED
- 由于分片从 started 状态转换到 initializing 状态。
- REALLOCATED_REPLICA
- 由于迁移分片副本。
- PRIMARY_FAILED
- 初始化副分片时,主分片失效。
- FORCED_EMPTY_PRIMARY
- 强制分配一个空的主分片。
- MANUAL_ALLOCATION
- 手工强制分配分片。
错误导致的
上边只是部分内容,为便于维护,本文已迁移到此地址:ES-排查集群健康状态是Red、Yellow的问题 - 自学精灵