elasticsearch 7.10:如何安全删除节点并释放空间?

voj3qocg  于 2021-06-13  发布在  ElasticSearch
关注(0)|答案(1)|浏览(881)

因为我的磁盘空间快用完了,所以我想从节点中删除所有索引。请注意,我只有一个节点,并且正在本地计算机上运行弹性服务器。
基本上,当我启动elastic服务器时,它会失败,出现以下日志-

[2020-12-13T22:06:51,839][WARN ][o.e.c.r.a.DiskThresholdMonitor] [sedna] flood stage disk watermark [95%] exceeded on [k7t835EJQ6KzPu-7a-aW8Q][sedna][/home/ssahoo/elasticsearch-7.10.0/data/nodes/0] free: 879mb[0.8%], all indices on this node will be marked read-only

在终端上,我得到以下错误-

Could not rename log file 'logs/gc.log' to 'logs/gc.log.05' (Reserved).
(base) ssahoo@sedna:~/elasticsearch-7.10.0$ [2020-12-14T17:07:17,831][WARN ][stderr                   ] [sedna] Exception in thread "main" org.elasticsearch.bootstrap.BootstrapException: java.io.IOException: Input/output error
2020-12-14 17:07:17,848 main ERROR Unable to move file /home/ssahoo/elasticsearch-7.10.0/logs/elasticsearch_server.json to /home/ssahoo/elasticsearch-7.10.0/logs/elasticsearch-2020-12-13-1.json: java.nio.file.FileSystemException /home/ssahoo/elasticsearch-7.10.0/logs/elasticsearch_server.json -> /home/ssahoo/elasticsearch-7.10.0/logs/elasticsearch-2020-12-13-1.json: Disk quota exceeded
2020-12-14 17:07:17,852 main ERROR Unable to copy file /home/ssahoo/elasticsearch-7.10.0/logs/elasticsearch_server.json to /home/ssahoo/elasticsearch-7.10.0/logs/elasticsearch-2020-12-13-1.json: java.nio.file.FileSystemException /home/ssahoo/elasticsearch-7.10.0/logs/elasticsearch-2020-12-13-1.json: Disk quota exceeded
2020-12-14 17:07:17,857 main ERROR Unable to move file /home/ssahoo/elasticsearch-7.10.0/logs/elasticsearch.log to /home/ssahoo/elasticsearch-7.10.0/logs/elasticsearch-2020-12-13-1.log: java.nio.file.FileSystemException /home/ssahoo/elasticsearch-7.10.0/logs/elasticsearch.log -> /home/ssahoo/elasticsearch-7.10.0/logs/elasticsearch-2020-12-13-1.log: Disk quota exceeded
2020-12-14 17:07:17,861 main ERROR Unable to copy file /home/ssahoo/elasticsearch-7.10.0/logs/elasticsearch.log to /home/ssahoo/elasticsearch-7.10.0/logs/elasticsearch-2020-12-13-1.log: java.nio.file.FileSystemException /home/ssahoo/elasticsearch-7.10.0/logs/elasticsearch-2020-12-13-1.log: Disk quota exceeded
[2020-12-14T17:07:17,863][WARN ][stderr                   ] [sedna] Likely root cause: java.io.IOException: Input/output error
[2020-12-14T17:07:17,864][WARN ][stderr                   ] [sedna]     at java.base/java.io.FileDescriptor.close0(Native Method)
[2020-12-14T17:07:17,864][WARN ][stderr                   ] [sedna]     at java.base/java.io.FileDescriptor.close(FileDescriptor.java:297)

因此,我想通过删除所有索引和节点来释放空间。那么,如何删除我拥有的单个节点呢?
或者如果我可以问一下你的建议是什么来克服这个问题?我负担不起额外的磁盘空间,这是我的主要限制。
谢谢您。

z31licg0

z31licg01#

我想从节点中删除所有索引
为了移除 all 从节点获取索引,获取索引列表,然后调用 delete 在每个人身上。
例如

for i in $(curl -s -u user:password -XGET "<your_es_host_name>:9200/_cat/indices?s=index&h=index"); do echo "deleting Index --> $i"; curl -s -u user:password -XDELETE "< your_es_host_name>:9200/$i"; done

这将删除所有索引。如果要排除某些索引,可以修改代码以排除索引,如 "<your_es_host_name>:9200/_cat/indices?s=index&h=index | grep -v exclude_index" .
希望这有帮助。

相关问题