30.Elasticsearch集群故障排查及修复-1
2022-05-17 本文已影响0人
大勇任卷舒
30.1 集群健康状态的解读
- 集群运行状况为:绿色、黄色、红色。
- 在分片级别:
- 绿色状态:表示集群健康;
- 黄色状态:表示所有主分片均已分配,但有一个或多个副本分片未分配。如果集群中的某个节点发生故障,则在修复该节点之前,某些数据可能不可用;
- 红色状态:表示存在一个或多个主分片未分配,因此某些数据不可用。在集群启动期间,伴随着主分片的分配过程,这可能会短暂发生。
30.2 定位红色或黄色的索引
- 第一步:确定你所知道的主要问题
- 例如节点宕机、磁盘空间(磁盘使用逼近或超过警戒水位线:85%、90%、甚至95%的磁盘使用率)问题等,这些问题很可能会造成集群状态的变化
- 第二步:确定哪些索引有问题,多少索引有问题
- _cat API 可以通过返回结果告诉这一点:
GET _cat/indices?v&health=red
GET _cat/indices?v&health=yellow
GET _cat/indices?v&health=green
-
如下就是:索引为黄色的截图
- 第三步:查看有问题的分片以及原因
- 这与索引列表有关,但是索引列表只会告诉你哪些索引存在问题,现在还需要根据索引列表形成问题列表
- 为此应该使用如下_cat API:
GET
/_cat/shards?v&h=n,index,shard,prirep,state,sto,sc
,unassigned.reason,unassigned.details&s=sto,index
-
下图展示了返回的结果:
- 只提示一个字段的含义:unassigned.reason 未分配分片的原因,返回值包括:
- ALLOCATION_FAILED:由于分片分配失败而未分配
- CLUSTER_RECOVERED:由于集群恢复而未分配
- DANGLING_INDEX_IMPORTED:由于导入了悬空索引导致未分配
- EXISTING_INDEX_RESTORED:由于恢复为已关闭的索引导致未分配
- INDEX_CREATED:由于API创建索引而未分配
- INDEX_REOPENED:由于打开已关闭索引而未分配
- NEW_INDEX_RESTORED:由于恢复到新索引而未分配
- NODE_LEFT:由于托管的节点离开集群而未分配
- REALLOCATED_REPLICA:确定了更好的副本位置,并导致现有副本分配被取消
- REINITIALIZED:当分片从开始移动回初始化,导致未分配
- REPLICA_ADDED:由于显式添加副本而未分配
- REROUTE_CANCELLED:由于显式取消重新路由命令而未分配
大数据视频推荐:
腾讯课堂
CSDN
ELK入门精讲
AIOps智能运维实战
ELK7 stack开发运维
大数据语音推荐:
ELK7 stack开发运维
企业级大数据技术应用
大数据机器学习案例之推荐系统
自然语言处理
大数据基础
人工智能:深度学习入门到精通