引子

绿色:主分片和副本都可用。

黄色:所有主分片可用,部分副本 不可用。

红色:至少一个主分片分配失败。

如何解决集群健康黄色问题

首先确定一下,你是否是在单节点测试ES,如果你只有一个节点,那么副本分片不可用是正常的。

副本分片只有在集群中才有意义,单节点的副本,如果节点挂掉了,主分片和副本分片同时over,所以,如果你是单节点分片,那么不用管它是不是黄色,主分片能够正常工作,没问题的。

如果你看黄色这个颜色不顺眼,你喜欢绿油油的颜色。

你在创建索引库的时候,指定一下副本分片为0,就可以看到你喜欢的绿色了。

如何解决集群健康红色问题

第一步:查日志

最常见的报错信息为:集群服务连接超时

具体原因为:某个节点的主分片没有分配。

第二步:问题解决

思路要明确,为什么这个主分片没有分配到某个节点呢?

别的都可以,为什么你不可以,是不是你有毛病,毛病在哪里?

明确一下master分配node的工作流程。

每一个主分片和它本身的副本分片都不会在同一个node里,鸡蛋不会放在同一个篮子里。

包括该主分片的副本,也不会在同一个node里。

这就说明master分配分片是有一定规则的,是有一定条件的。

如果不满足这个条件,这个分片就会没地方放,就会red。

集群节点数量>=集群所有索引的副本最大值+1。

这个公式举个例子,

你有十个节点,这十个节点中最大索引副本数量只能是9个,这九个副本在另外九个节点中,一个节点存一个,满足了master分配分片的原则。

那么如何处理呢,节点不够分配了,两种方法:

1、新增节点。

2、删除副本。