Site icon 时鹏亮的Blog

Elasticsearch 集群节点因磁盘空间不足导致集群状态进入red,如何处理

请知悉:本文最近一次更新为 8个月 前,文中内容可能已经过时。

那工作中实际碰到的情况哈,这个比较麻烦,因为Elasticsearch集群本身还是用的阿里云的,不是自建的,很烦,后台提供的功能基本上对解决red状态没有任何作用。

那如何不扩容的情况下解决问题呢?

基本流程如下:

  1. 首先你得能访问Elasticsearch集群的9200端口才行,否则你都没办法管控。
  2. 查看集群状态,嗯,red了。

    curl -u "elastic:password" "http://127.0.0.1:9200/_cluster/health"
  3. 查看red的索引状态,health的列red的就是造成异常的索引

    curl -u "elastic:password" -X GET "127.0.0.1:9200/_cat/indices?v"
  4. 查看集群磁盘占用,可以得知具体哪个节点红了(网页后台也能看到)

    curl -u "elastic:password" -X GET "127.0.0.1:9200/_cat/nodes?v&h=ip,node.role,node.name,heapPercent,disk.avail,node.total,segment"
  5. 开始着手解决问题,磁盘空间满了,red的索引并不是根源,理论上腾出空间后重平衡即可解决问题,所以删了个有点大的无关紧要的索引

    curl -u "elastic:password" -X DELETE "127.0.0.1:9200/index-2024-1"
  6. 重平衡

    curl -u "elastic:password" -X POST "127.0.0.1:9200/_cluster/reroute?retry_failed=true"
  7. 检查集群状态

    curl -u "elastic:password" "http://127.0.0.1:9200/_cluster/health"

如您从本文得到了有价值的信息或帮助,请考虑扫描文末二维码捐赠和鼓励。

尊重他人劳动成果。转载请务必附上原文链接,我将感激不尽。


与《Elasticsearch 集群节点因磁盘空间不足导致集群状态进入red,如何处理》相关的博文:

Exit mobile version