解决 Elasticsearch 写操作磁盘空间问题——cluster_block_exception

在运行 Elasticsearch 集群遇到磁盘空间不足的情况时,Elasticsearch 会采取保护措施以防止数据丢失。 在执行写操作时,会抛出异常:cluster_block_exception 错误,特别是当错误消息表明索引被设置为只读模式时

错误信息

复制代码
Caused by: java.lang.RuntimeException: ElasticsearchException[Elasticsearch exception [type=cluster_block_exception, reason=index [es_index] blocked by: [TOO_MANY_REQUESTS/12/disk usage exceeded flood-stage watermark, index has read-only-allow-delete 

错误信息分析:

  • cluster_block_exception:集群块异常,通常是由于某种保护机制触发的
  • disk usage exceeded flood-stage watermark:磁盘使用超过了"洪水阶段"水位线
  • index has read-only-allow-delete block:索引已被设置为只读模式,只允许删除操作

问题分析

Elasticsearch 使用磁盘水位线来确保磁盘空间不会用尽,从而导致写入数据丢失问题。默认情况下,Elasticsearch 设置了以下磁盘水位线:

  • 低水位线(85%):当磁盘使用率超过此值时,Elasticsearch 不再为该节点分配新的分片。
  • 高水位线(90%):当磁盘使用率超过此值时,Elasticsearch 会尝试将分片迁移到其他节点。

当磁盘使用率达到"洪水阶段"水位线(通常是 95%),Elasticsearch 会将索引设置为只读模式,防止更多的数据写入,以保护集群的稳定性和数据的安全性。

如何解决

  1. 释放磁盘空间

  2. 增加磁盘容量

  3. 调整 Elasticsearch 设置(不推荐):

    • 修改磁盘水位线设置 :在 elasticsearch.yml 配置文件中,可以调整磁盘水位线设置。例如:

      yaml 复制代码
      cluster.routing.allocation.disk.watermark.low: 75%
      cluster.routing.allocation.disk.watermark.high: 85%
      cluster.routing.allocation.disk.watermark.flood_stage: 95%

      注意:过低的水位线可能导致频繁的分片迁移和性能问题

解决了 Elasticsearch 中的磁盘空间不足问题,并且磁盘使用率降回到低于"洪水阶段"水位线(默认95%),Elasticsearch 通常会自动恢复索引的写入权限,这意味着一旦磁盘空间不再达到危险水平,Elasticsearch 会自动解除索引的只读状态,允许正常的写入操作。

手动解除只读模式(如果需要): 在一些情况下自动恢复没有按预期发生,可以手动解除索引的只读状态

json 复制代码
PUT /my_index/_settings
{
  "index.blocks.write": null
}
相关推荐
scan72416 小时前
小龙虾模拟人的性格,需要带上历史信息作为上下文
大数据
Elasticsearch17 小时前
Elasticsearch:如何在 Elastic AI Builder 里使用 DSL 来查询 Elasticsearch
elasticsearch
Yiyaoshujuku17 小时前
医院API接口,从医院真实世界数据HIS、LJS、EMR、PACS系统到医院药品流向数据....
大数据·前端·人工智能
STLearner18 小时前
AI论文速读 | 元认知监控赋能深度搜索:认知神经科学启发的分层优化框架
大数据·论文阅读·人工智能·python·深度学习·学习·机器学习
不一样的故事12618 小时前
抓重点、留弹性、重节奏
大数据·网络·人工智能·安全
大嘴皮猴儿18 小时前
跨境电商视频营销爆发时代:产品视频字幕翻译怎么做?跨马翻译实战全解析
大数据·人工智能·新媒体运营·自动翻译·教育电商
唐可盐19 小时前
【数据治理实践】第 10 期:数据时代的导航——数据目录
大数据·人工智能·数据治理·数字化转型·数据资产·数据资产入表
智链RFID19 小时前
当企业运营遇到瓶颈:RFID 为什么越来越被采用?
大数据·网络·人工智能·科技·rfid
Data-Miner19 小时前
50页可编辑PPT | 某大数据资产平台建设项目启动会材料
大数据
尽兴-20 小时前
Spring Boot 整合 Elasticsearch 8.x 实战总结(含三种实现方式 + 完整示例)
spring boot·elasticsearch·jenkins