解决 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
}
相关推荐
青稞社区.16 小时前
Claude Code 源码深度解析:运行机制与 Memory 模块详解
大数据·人工智能·elasticsearch·搜索引擎·agi
T062051417 小时前
【面板数据】地级市及区县人口空心化数据(2000-2024年)
大数据
Aktx20FNz17 小时前
iFlow CLI 完整工作流指南
大数据·elasticsearch·搜索引擎
LaughingZhu18 小时前
Anthropic 收购 Oven 后,Claude Code 用运行时写了一篇护城河文章
大数据·人工智能·经验分享·搜索引擎·语音识别
学习3人组18 小时前
TortoiseGit冲突解决实战上机练习
大数据·elasticsearch·搜索引擎
Ln5x9qZC219 小时前
Flink SQL 元数据持久化实战
大数据·sql·flink
OYpBNTQXi19 小时前
Flink Agents 源码解读 --- (6) --- ActionTask
大数据·flink
A__tao19 小时前
Elasticsearch Mapping 一键生成 Go Struct,支持嵌套解析
elasticsearch·es
中金快讯20 小时前
济民健康医疗服务占比提升至46%!业务结构调整初见成效
大数据·人工智能
lizhihai_9920 小时前
股市学习心得-尾盘半小时买入法
大数据