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

Docker部署多节点Elasticsearch触发磁盘高水位线Kibana无法使用

问题触发原因
  • 核心触发因素为Elasticsearch磁盘高水位阈值告警:当节点磁盘使用率超过配置的90%高水位阈值时,Elasticsearch会禁止分片写入,达到洪水水位阈值后还会自动将所有索引设置为只读状态。Kibana启动时需要向Elasticsearch集群写入.kibana等系统索引,写入请求被拒绝后会启动失败,无法对外提供服务。
  • 次要可能原因:Elasticsearch集群启动就绪晚于Kibana,Kibana初始连接ES超时后退出,未自动重试。
排查步骤
  • 查看Kibana容器运行日志定位具体错误,执行命令:docker logs kibana,重点排查是否存在ES连接超时、403写入拒绝类报错。
  • 检查Elasticsearch集群健康状态,执行命令:curl http://127.0.0.1:9200/_cluster/health,确认集群状态、分片分配情况。
  • 检查ES集群只读标记,执行命令:curl http://127.0.0.1:9200/_all/_settings?pretty,确认是否存在index.blocks.read_only_allow_delete为true的配置。
解决方案
  1. 处理磁盘水位告警
    • 方案1:清理宿主机C盘冗余文件,保证C:/Docker/Elasticsearch挂载目录所在磁盘剩余空间占比高于10%,ES会自动解除写入限制。
    • 方案2:临时调整ES磁盘水位阈值适配本地测试环境,向ES发起如下API请求:
PUT _cluster/settings
{
  "persistent": {
    "cluster.routing.allocation.disk.watermark.low": "95%",
    "cluster.routing.allocation.disk.watermark.high": "97%",
    "cluster.routing.allocation.disk.watermark.flood_stage": "99%"
  }
}
  • 若索引已被锁只读,执行如下请求解除限制:
PUT _all/_settings
{
  "index.blocks.read_only_allow_delete": null
}
  1. 优化Kibana启动配置
    修改docker-compose.yml中kibana服务配置,增加启动依赖、请求超时配置和自动重启策略:
kibana:
  image: docker.elastic.co/kibana/kibana:7.13.0
  container_name: kibana
  environment:
    - "ELASTICSEARCH_HOSTS=http://es01:9200"
    - "ELASTICSEARCH_REQUESTTIMEOUT=120000"
  ports:
    - '5601:5601'
  networks:
    - esnet
  depends_on:
    - es01
    - es02
    - es03
  restart: on-failure
  1. 重启服务验证
    执行命令docker-compose down && docker-compose up -d重建容器,等待1~2分钟后访问http://127.0.0.1:5601验证Kibana可用性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 09:54:06