ES集群修改指数副本数,报错:指数只读/允许删除(api)
原因:
es集群数据量增速过快,导致个别es节点节点磁盘使用率在% 80以上,接近% 90,由于西文新节点的数据目录数据存储空间不足,导致从主主节点接收同步数据的时候失败,此时es集群为了保护数据,会自动把索引分片指数置为只读只读的。
故障处理办法:
1:集群加节点,简单粗暴;
2:降低集群指数副本数量;
3:其它:增加磁盘,删除历史数据等;
我们采用方案2,作为临时应对方案,待集群可以正常数据写入后,再指向步骤1或3者的操作彻底解决问题;
操作步骤:
1:在Kibana的开发工具开发工具中执行(或在服务器上通过卷发工具发起把请求,下文同)
修改索引副本数量为1
<代码>把48 _hot_v1/_settings { "指数":{ “number_of_replicas”:“1” } }代码>
报错如下:
api接口执行操作
<代码> { “类型”:“cluster_block_exception”, “原因”:“被:(禁止/12/索引只读/允许删除(api)];” }代码>
报错原因:
es磁盘已满而无法索引更多文档,则elasticsearch将切换为只读。它确保了只读查询的可用性.Elasticsearch不会自动切换回来,可以使用如下方法切换回正常模式:
<代码>旋度-XPUT - h“application/json - type:”http://localhost: 9200/_all index.blocks/_settings - d ' {”。read_only_allow_delete”:零}”代码>
或者,在Kibana的开发工具开发工具中执行
<代码> _settings { "指数":{ “块”:{ “read_only_allow_delete”:“假” } } } 代码> >之前验证:查看指定索引的设置信息h5>
<代码>得到48 _hot_v1/_settings 查找内容如下: }, “块”:{ “read_only_allow_delete”:“假” }, 代码> >之前配置生效后集群开始删除指数副本数据,datanode节点磁盘空间逐步释放。
ES集群修改指数副本数报错:只读/允许删除索引