ES集群节点宕机导致shard unassigned解决方案
来源:互联网 发布:linux开机过程 编辑:程序博客网 时间:2024/06/05 19:59
ES集群概况:
1台master节点,4台data节点,9个shards
问题:
一台data节点宕机,导致5个分片处于unassigned状态,集群状态变为red,无法自动rerouting
解决步骤:
1.查看所有节点的日志信息,通过日志,我们发现master节点中出现了警告信息,通知宕机节点的磁盘利用率超过了90%,这也是导致节点宕机,集群出现unassigned的原因。
2.找到原因后,我们开始处理问题,因为es集群已经无法自动完成rerouting操作,所有当务之急是解决磁盘的问题,因为无法动态扩容,所以我们分配了新的大容量机器,将es数据所在目录整个迁移到了新的机器上,同时将原有机器IP绑定到新的机器上,启动新的机器。
3.这时问题任然没有完全解决,我们输入
curl 'http://ip:port/_nodes/process?pretty'
查看es集群中节点的具体信息
同时输入
curl -XGET http://ip:port/_cat/shards|grep UNASSIGNED
来查看处于未分配状态的信息,信息里面分别有索引,id等信息
4.接下来便是强制routing的过程了,通过如下命令便可以完成shard的重新路由分配
curl -XPOST 'ip:port/_cluster/reroute?retry_failed=5&pretty' -d '{ "commands" : [ { "allocate_stale_primary" : { "index" : "error_data", "shard" :5, "node" : "0Al0NdJZS2ClT6PiLCqGlg", "accept_data_loss" : true } }]}'
上面的index为未分配的shard的索引,shard为分片id,node为分片的路由目的节点id,通过第一条命令可以查出,注意可能unassigned节点并不全部分布再宕机节点上,需要进行重路由分配,如果分片不在路由目的节点上,日志中会出现异常信息,找不到对应分片的索引文件,在异常信息中会出现分片的名称,这时,到各节点上查找分片信息,路由到对应的节点上。
所有问题解决后,重启es集群可以发现集群变为green状态。
阅读全文
1 0
- ES集群节点宕机导致shard unassigned解决方案
- elasticsearch shard UNASSIGNED 修复
- ES集群安重启节点
- es大量unassigned shards
- ES: resolve unassigned shards
- 搭建高可用mongodb shard 集群以及多节点备份
- 【ES系列五】——集群搭建(多机集群&单机多节点集群)
- es 二 ---- elasticsearch多节点集群不成功
- es集群搭建(2个节点)
- MongoDB shard集群部署
- 集群(Cluster),节点(Node),分片(Shard),Indices(索引),replicas(备份)之间是什么关系
- ElasticSearch中,集群(Cluster),节点(Node),分片(Shard),Indices(索引),replicas(备份)之间的关系
- mongodb分配集群 shard key
- mongodb集群(Shard+Replica Sets)
- ES分布式机制的透明性,垂直扩容和水平扩容,数据rebalance,master节点,节点平等的分布式架构,shard和replica机制(学习)
- Hadoop集群活跃节点为0解决方案
- solr no servers hosting shard 503 SolrCloud分布式检索时忽略宕机的Shard
- solr no servers hosting shard 503 SolrCloud分布式检索时忽略宕机的Shard
- 经典算法之图的深度优先搜索遍历
- Eclipse发布maven工程报错
- php截取富文本框中的前60个字符数
- 匿名函数和闭包
- neutron-server.service启动失败显示代理报错http://controller:9696/v2.0/agents.json
- ES集群节点宕机导致shard unassigned解决方案
- 搭建Gitlab安装步骤、中文汉化、卸载
- tomCat知识
- 使用FormData表单数据对象提交表单及上传图片
- AngularJs表单提交
- 微信小程序ajax请求
- c语言猜数字小游戏(搞怪版)
- 错误:try using -rpath or -rpath-link
- 解决JDBC操作数据库出现中文乱码的问题