记一次es 集群red的排查解决过程

问题现象:es 集群状态red,查看基本信息如下:

解决过程:

1- 查看未分配分片信息

GET localhost:9200/_cat/shards?h=index,shard,prirep,state,unassigned.reason

 2- 首先设置所有索引副本个数全为0

curl -XPUT "http://localhost:9200/_settings" -d' {  "number_of_replicas" : 0 } '{"acknowledged":true}

3- 执行下面语句查看集群状态:

curl localhost:9200/_cluster/health?pretty

别急,此时肯定还是red状态,因为一般red状态是因为有主分片没有被分配 

4-  使用下面语句查看未分配分片

GET localhost:9200/_cat/shards?h=index,shard,prirep,state,unassigned.reason

发现有未分配主分片,我的解决方案是,在确认该索引可以删除的情况下,直接删除索引

5- 删除主分片未分配索引

curl -XDELETE localhost:9200/***

6- 确认是否还有未分配主分片

curl -XGET localhost:9200/_cat/shards?h=index,shard,prirep,state,unassigned.reason| grep UNASSIGNED

7- 查看集群状态,此时,如果6结果为空,则状态为green或者yellow

8- 但是稍后重建索引之后,发现集群状态又变为red

9- 查看未分配主分片原因:

curl -XGET localhost:9200/_cluster/allocation/explain?pretty

原因发现是索引往节点挂载的data目录写操作时,出现accessdenied拒绝;

解决方式:chmod -R 777 data

修改data目录操作权限,再次删除上述索引,后集群状态正常; 

 

 

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值