elasticsearch - 当Elasticsearch未运行时,如何在Elasticsearch节点上清理完整磁盘

标签 elasticsearch amazon-ec2 disk

我有1个主节点和5个数据节点(Amazon ec2实例)的Elasticsearch 7.4。我有cluster.routing.allocation.disk.threshold_enabled设置= false
现在,节点中的一个磁盘已满,并且由于磁盘已满错误,elasticsearch停止了。

ElasticsearchException[failed to load metadata]; nested: IOException[No space left on device];

/dev/nvme1n1p1  493G  468G     0 100% /disk1
此后,群集仅显示4个数据节点,仍未分配9个分片,并且拒绝了搜索请求,而其他节点的磁盘上仍然有足够的空间。
我想通过POST API删除旧数据来腾出一些空间,但是在这种情况下不起作用。
现在我的问题是,当该节点仅包含elasticsearch数据且在群集中不可用时,如何清理该节点上的磁盘。
谢谢您的帮助。

最佳答案

elasticsearch使用UUID将索引文件保存在DATA文件夹中。您可以在elasticsearch.yml中找到DATA文件夹路径。
您也可以使用GET /_cat/indices?v查找索引UUID
考虑一下,我假设您有基于时间的索引,并且可以删除索引。如果要删除某些脱机索引文档,则不可能。

关于elasticsearch - 当Elasticsearch未运行时,如何在Elasticsearch节点上清理完整磁盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64025948/

相关文章:

java - 重复磁盘写入

elasticsearch - 用于唯一字段值的ElasticSearch聚合

hadoop - elasticsearch 与 mahout 集成

sql-server - Amazon EC2 实例 - 如何查找 SQL Server 密码

amazon-ec2 - 无法通过 CF 安装 aws-cli

filesystems - LBA和集群

elasticsearch - 从 Elasticsearch 7 索引映射中删除一个字段

java - 保存新版本时将旧版本的文档移至历史索引 (elasticsearch)

amazon-ec2 - 多个 EC2 实例(扩展)如何在一个 EBS 上进行数据存储?

linux - 在 shell 脚本中复制时检查磁盘空间