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

发布时间:2020-07-06 02:41:33 作者:无锋剑
来源:网络 阅读:19516

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. 对Python 2.7 pandas 中的read_excel详解
  2. 基于自定义BufferedReader中的read和readLine方法

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

read only index

上一篇:sqlite3 数据操作 修改

下一篇:Java基础 (6) - 枚举

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》