Elasticsearch节点磁盘空间耗尽

       最近遇到了一个特殊的情况,我们所使用的一个Elasticsearch集群的数据节点磁盘空间耗尽(out of space),啥事会发生呢? 数据损坏,集群RED。下面是相关的日志信息,我将其中一些关键点日志信息重点小时。这里 ES-Data_IN_11是当时的Master节点,ES-Data_IN_12是出现的磁盘耗尽的数据节点,出事儿的index名字为raw_v3.2017_03_22,我们仍然使用的是Elasticsearch 1.7.2。

[2017-03-22 11:57:30,503][WARN ][index.merge.scheduler ] [ES-Data_IN_12] [raw_v3.2017_03_22][1] failed to merge

[2017-03-22 11:57:30,646][WARN ][index.engine ] [ES-Data_IN_12] [raw_v3.2017_03_22][1] failed engine [merge exception]

[2017-03-22 11:57:30,663][WARN ][indices.cluster ] [ES-Data_IN_12] [[raw_v3.2017_03_22][1]] marking and sending shard failed due to [engine failure, reason [merge exception]]

[2017-03-22 11:57:31,677][WARN ][cluster.action.shard ] [ES-Data_IN_11] [raw_v3.2017_03_22][1] received shard failed for [raw_v3.2017_03_22][1], node[h9d1tKJFRtmg1aG-VMkA4A], [P], s[STARTED], indexUUID [2Z-UtAr8Qx2h6Xe9BkxvAA], reason [shard failure [engine failure, reason [merge exception
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Elasticsearch 中,可以通过清理索引空间来释放磁盘空间。以下是清理 ES 节点索引空间的步骤: 1. 找到要清理的索引或索引别名。 2. 确定哪些段已经被删除或合并,并可以释放空间。 3. 关闭写入,以确保没有新的段被创建。 4. 执行清理操作,这会删除已经被标记为删除的段,并合并其他段。 5. 重新打开写入,以便索引可以继续使用。 下面是执行清理操作的具体步骤: 1. 打开 Elasticsearch 的命令行界面。 2. 执行以下命令,以查看当前节点的索引情况: ``` GET /_cat/indices?v ``` 这将列出当前节点上的所有索引及其状态。 3. 执行以下命令,以查看特定索引的段情况: ``` GET /<index_name>/_segments ``` 这将列出特定索引的所有段及其状态。 4. 执行以下命令,以关闭写入: ``` PUT /<index_name>/_settings { "index.blocks.write": true } ``` 这将禁止该索引的写入操作。 5. 执行以下命令,以执行清理操作: ``` POST /<index_name>/_forcemerge?max_num_segments=1 ``` 这将强制合并索引的所有段,并删除已经被标记为删除的段,从而释放磁盘空间。 6. 执行以下命令,以重新打开写入: ``` PUT /<index_name>/_settings { "index.blocks.write": false } ``` 这将允许该索引的写入操作。 注意:清理操作可能会导致一些性能问题,因此需要谨慎使用。最好在低负载时执行清理操作,并在操作前备份索引数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值