Elastic实战: 集群报黄如何处理

举报
wu@55555 发表于 2022/11/19 17:39:52 2022/11/19
【摘要】 0、引言今天群里有小伙伴讨论公司集群报黄的问题,特此记录,以供后续的同学参考 1、原因集群的有三种状态:绿色:正常状态,表示主副分片都正常黄色:主分片正常,至少一个副本分片不可用,该状态下仍然可以正常查询红色:至少一个主分片不可用,可以查询到部分数据,但是数据不具备完整性 2、解决由上述表示可知,集群报黄归根结底是一个原因,至少一个副本分片不可用。但是造成这个情况的形式不止一种,目前已知的...

0、引言

今天群里有小伙伴讨论公司集群报黄的问题,特此记录,以供后续的同学参考

1、原因

集群的有三种状态:
绿色:正常状态,表示主副分片都正常
黄色:主分片正常,至少一个副本分片不可用,该状态下仍然可以正常查询
红色:至少一个主分片不可用,可以查询到部分数据,但是数据不具备完整性

2、解决

由上述表示可知,集群报黄归根结底是一个原因,至少一个副本分片不可用。但是造成这个情况的形式不止一种,目前已知的有:

2.1 副本分片数过大

主副分片是不允许在同一节点上的,如果副本分片数设置的过大,导致副本分片无节点可分配的话就会导致这个问题。而这里的过大也是相对于集群节点数而言的,如果是单节点集群,副本分片数即使为1也是过大,因为肯定会和主分片处在同一个节点上。

可以通过以下指令排查

# 查询分片状态,观察哪些索引是yellow
GET _cat/shards?v
# 找到yellow 索引,查询settings
GET <index>/_settings

解决

1、手动设置副本分片数,将其调整为0或者一个合适值:

PUT /cs_indexs/_settings
{
  "number_of_replicas": 0
}

需要注意的是,副本分片的作用是主分片的备份,所以如果设置为0的话就意味着没有备份了。

2、增加节点数量也可解决此类问题

2.2 磁盘占用数超85%

官方文档中有记录,默认是不会将分片分配给磁盘占用率超85%的节点的,所以检查下你服务器的磁盘占用量
在这里插入图片描述
可以通过df -h指令查看磁盘占用量
在这里插入图片描述

解决

1、拓展磁盘空间
2、删除无用索引数据

2.3 网络问题

节点无法连接到集群,自然会使节点无法分配分片,也会导致报黄设置报红。当集群出现一会报黄一会正常的情况,就要考虑下是否是某部分节点存在网络波动或者其他问题导致连接不稳定

如果上述两种情况都不满足的话,排查一下是否是网络的问题。

用docker安装的集群,要重点排查下这种情况

如果你还遇到其他的情况,请留言告诉我

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。