You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker中Enterprise Search容器异常:Kibana索引迁移因磁盘水位线受阻

解决Elasticsearch磁盘水位触发只读块导致Enterprise Search启动失败问题

问题根源

之前磁盘空间不足时,Elasticsearch触发了flood-stage watermark(洪水级磁盘水位)机制,自动给所有索引(包括Kibana的.kibana_7.14.0_001索引)添加了read-only-allow-delete只读块。即使后续修复了磁盘空间,这个只读块不会自动解除,导致Kibana无法完成对象迁移,进而引发Enterprise Search启动失败。

解决步骤

  1. 验证Elasticsearch磁盘状态与水位设置
    若使用docker-compose,直接执行容器内命令查询:

    # 查看集群水位配置
    docker-compose exec elasticsearch curl -XGET '_cluster/settings?include_defaults=true&pretty'
    # 查看磁盘使用详情
    docker-compose exec elasticsearch curl -XGET '_cat/disk?v'
    

    确认磁盘空间已恢复,同时检查disk.watermark.low、disk.watermark.high、disk.watermark.flood_stage的默认设置(分别为磁盘使用率85%、90%、95%)是否适配当前环境。

  2. 手动解除所有索引的只读块
    执行命令清除只读限制:

    docker-compose exec elasticsearch curl -XPUT -H "Content-Type: application/json" '_all/_settings' -d '{
      "index.blocks.read_only_allow_delete": null
    }'
    
  3. 检查Kibana索引状态
    确认.kibana相关索引已恢复可读写:

    docker-compose exec elasticsearch curl -XGET '_cat/indices/.kibana*?v'
    

    索引状态为green或yellow即正常;若为red,可先重启Elasticsearch再重新检查。

  4. 重启Kibana与Enterprise Search容器
    只读块解除后,重启相关服务:

    docker-compose restart kibana enterprise-search
    
  5. 可选:调整磁盘水位阈值(按需)
    如果当前磁盘空间紧张,可临时调整Elasticsearch的磁盘水位设置(需重启生效),在docker-compose.yml的Elasticsearch配置中添加:

    environment:
      - cluster.routing.allocation.disk.watermark.low=80%
      - cluster.routing.allocation.disk.watermark.high=85%
      - cluster.routing.allocation.disk.watermark.flood_stage=90%
    

内容的提问来源于stack exchange,提问作者Ant

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 18:05:16