31.1 定位红色或黄色的索引
- 进一步定位未分配的原因
- 可以要求集群进一步返回给定分片的当前分配情况和逻辑
- 需要结合第三步返回结果对下面的_cluster/allocation/explain API 参数进行修改
GET /_cluster/allocation/explain
{
"index": "my_index_003",
"shard": 0,
"primary": false
}
- 一些常见的问题包括:
- 磁盘空间不足
- 分片数限制
- JVM或内存限制
- 路由或分配规则
- 崩溃或严重问题
31.2 解决问题
- 修补程序分为四类:
- 第一类:等待并让 Elasticsearch 集群自行修复
- 适用于:临时状况、集群启动阶段
- 操作方法:节点重启
- 第二类:将副本设置为0
- 删除所有副本,针对场景:也许你无法修复副本或手动移动或分配它
- 在这种情况下,只要拥有主分片(健康状态为黄色,而不是红色),就可以始终使用以下命令将副本数设置为0,等待一分钟,然后再设置为1或任意你业务场景需要设置的值
PUT my_index_003/_settings
{
"index": {
"number_of_replicas": 0
}
}
- 第三类:手动分配分片
POST /_cluster/reroute
{
"commands": [
{
"move": {
"index": "test", "shard": 0,
"from_node": "node1", "to_node": "node2"
}
},
{
"allocate_replica": {
"index": "test", "shard": 1,
"node": "node3"
}
}
]
}
- 第四类:检查路由、分配规则
- 许多高可用或复杂的系统使用路由或分配规则来控制分片分配,随着情况的变化,这会创建无法分配的分片
- 这个时候,explain API 有助于排查问题
大数据视频推荐:
腾讯课堂
CSDN
ELK入门精讲
AIOps智能运维实战
ELK7 stack开发运维
大数据语音推荐:
ELK7 stack开发运维
企业级大数据技术应用
大数据机器学习案例之推荐系统
自然语言处理
大数据基础
人工智能:深度学习入门到精通
网友评论