ES集群修改index副本数报错 :index read-only / allow delete

ES集群修改index副本数,报错 :index read-only / allow delete (api)

原因:

es集群数据量增速过快,导致个别es node节点磁盘使用率在%80以上,接近%90 ,由于ES新节点的数据目录data存储空间不足,导致从master主节点接收同步数据的时候失败,此时ES集群为了保护数据,会自动把索引分片index置为只读read-only.

故障处理办法:

1:集群加节点,简单粗暴;

2:降低集群index副本数量;

3:其它:增加磁盘、删除历史数据等;

我们采用方案2,作为临时应对方案,待集群可以正常数据写入后,再指向步骤 1或者3的操作彻底解决问题;

操作步骤:

1:在Kibana的开发工具Dev Tools中执行(或在服务器上通过curl工具发起PUT请求,下文同)

修改索引副本数量为1

PUT 48_hot_v1/_settings
{
  "index": {
        "number_of_replicas": "1"
        }
}
报错如下:

api接口执行操作

{
  "type": "cluster_block_exception",
  "reason": "blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];"
}
报错原因:

es磁盘已满而无法索引更多文档,则elasticsearch将切换为只读。它确保了只读查询的可用性。Elasticsearch不会自动切换回来,可以使用如下方法切换回正常模式:

curl -XPUT -H "Content-Type: application/json" http://localhost:9200/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}'

或者,在Kibana的开发工具Dev Tools中执行

PUT _settings
    {
    "index": {
    "blocks": {
    "read_only_allow_delete": "false"
    }
    }
    }
验证 :查看指定索引的设置信息
GET 48_hot_v1/_settings

查找内容如下:
        },
        "blocks": {
          "read_only_allow_delete": "false"
        },
配置生效后集群开始删除index副本数据,datanode 节点磁盘空间逐步释放。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值