最近遇到了一个问题,想登录测试环境的kibana查看一下近期的日志情况,但是发现近一周并没有日志显示,查看elasticsearch的日志时发现了以下报错:
[node-1] flood stage disk watermark [95%] exceeded on [JI43BoeFR8G8Q5oUYW2uXg][node-1][/usr/local/elasticsearch-7.1.0/data/nodes/0] free: 7.7gb[4.9%], all indices on this node will be marked read-only
这是说磁盘使用率超过阈值95%,所以es索引模式变成只读,无法写入数据,从而导致kibana没有数据显示。
针对该问题,有两种解决办法:
-
1.清理磁盘空间
因为elasticsearch会对磁盘空间进行监控,当磁盘剩余空间达到了flood stage阈值,会将所有的相关索引强制设置为只读。需要清理磁盘空间后,才能写入数据。
具体的清理办法可以参考我的这篇博客:https://www.cnblogs.com/even160941/p/16313449.html
-
2.调整elasticsearch的默认阈值
在/config/elasticsearch.yml
文件中增加如下配置:
cluster.routing.allocation.disk.watermark.low: 90%
cluster.routing.allocation.disk.watermark.high: 95%
cluster.routing.allocation.disk.watermark.flood_stage: 97%
或
cluster.routing.allocation.disk.watermark.low: 100gb
cluster.routing.allocation.disk.watermark.high: 50gb
cluster.routing.allocation.disk.watermark.flood_stage: 10gb
其中:
cluster.routing.allocation.disk.watermark.low,默认85%,用于控制磁盘的最小使用率;cluster.routing.allocation.disk.watermark.high,默认90%,用于控制磁盘的最大使用率;cluster.routing.allocation.disk.watermark.flood_stage,默认95%,超过此值时,Elasticsearch 变成只读模式,无法写入数据。
注:上述配置必须同时设为百分比,或具体字节值,不能混用。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析