Elasticsearch:Low disk watermark

你的 Elasticsearch 集群上有各种 “水位” 阈值。 当一个节点上的磁盘填满时,要跨越的第一个阈值将是 “低磁盘水位”。 一旦超过此阈值,Elasticsearch 集群将停止向该节点分配分片。 这意味着你的集群可能会变黄。

如何解决这个问题

超过此阈值是一个警告,你不应在达到更高阈值之前延迟采取行动。 你可以采取以下措施来解决问题:

  • 删除旧索引
  • 从现有索引中删除文档
  • 增加节点上的磁盘空间
  • 向集群添加新节点

你可以查看已使用此命令应用的设置:

GET _cluster/settings

如果你的集群的设置不合适,你可以使用如下命令修改它们:

PUT _cluster/settings
{
  "transient": {
   
    "cluster.routing.allocation.disk.watermark.low": "85%",
    "cluster.routing.allocation.disk.watermark.high": "90%",
    "cluster.routing.allocation.disk.watermark.flood_stage": "95%",
    "cluster.info.update.interval": "1m"
  }
}

如何避免它

有多种机制可以自动删除陈旧数据。

如何自动删除陈旧数据:

1) 应用 ILM(索引生命周期管理

   使用 ILM,你可以让 Elasticsearch 在当前索引大小达到给定年龄时自动删除索引。

2) 使用基于日期的索引

    如果你的应用程序使用基于日期的索引,那么使用脚本或 Elasticsearch curator 等工具可以轻松删除旧索引。

3) 使用快照离线存储数据

    离线存储快照数据并在需要查看或研究存档数据时将其恢复可能是合适的。

4) 自动化/简化添加新数据节点的过程

    使用 terraform 等自动化工具自动向集群添加新节点。 如果这是不可能的,至少要确保你有一个明确记录的过程来创建新. 节点、添加 TLS 证书和配置,并在短时间内将它们带入 Elasticsearch 集群并在可预测的时间范围内。

针对开发者来搜,通常我们的硬盘不足够大。 在我之前的电脑上,当我的硬盘容量小于 50G 时,我在电脑上安装的 Elasticsearch 就会停止写入。这可以防止 Elasticsearch 以写入模式启动。要更改 Elasticsearch 的可用磁盘空间配额,可以使用以下配置:

# no production safe
cluster.routing.allocation.disk.threshold_enabled: false
cluster.routing.allocation.disk.watermark.high: 99%
cluster.routing.allocation.disk.watermark.flood_stage: 99%

更多阅读:Elasticsearch:High Disk Watermark

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值