解决 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
}
相关推荐
小花鱼20252 小时前
Elasticsearch (ES)相关
大数据·elasticsearch
TDengine (老段)2 小时前
TDengine 选择函数 TOP() 用户手册
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
Dobby_053 小时前
【Hadoop】分布式文件系统 HDFS
大数据·hadoop·分布式
阿里嘎多哈基米3 小时前
ES——(三)DSL高级查询
elasticsearch·搜索引擎·全文检索·kibana·倒排索引
哈哈很哈哈3 小时前
Spark 核心 RDD详解
大数据·分布式·spark·scala
智海观潮3 小时前
Spark广播变量HttpBroadcast和TorrentBroadcast对比
大数据·spark
项目題供诗3 小时前
Hadoop(十一)
大数据·hadoop·分布式
青云交4 小时前
Java 大视界 -- Java 大数据在智能家居场景联动与用户行为模式挖掘中的应用
java·大数据·智能家居·边缘计算·户型适配·行为挖掘·场景联动
AAA修煤气灶刘哥4 小时前
ES 高级玩法大揭秘:从算分骚操作到深度分页踩坑,后端 er 速进!
java·后端·elasticsearch
shinelord明4 小时前
【数据行业发展】可信数据空间~数据价值的新型基础设施
大数据·架构·云计算·创业创新