Elasticsearch 7.10: как безопасно удалить узел и освободить место?

Поскольку у меня заканчивается место на диске, я хочу удалить все индексы с узла. Обратите внимание, что у меня только один узел, и я запускаю эластичный сервер на своем локальном компьютере.

В основном, когда я запускаю эластичный сервер, он выходит из строя со следующим журналом:

[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)

Поэтому я хочу освободить место, удалив все индексы и, следовательно, узел. Итак, как я могу удалить единственный узел, который у меня есть?

Или я могу спросить, что бы вы посоветовали преодолеть это? Я не могу позволить себе дополнительное дисковое пространство, и это мое главное ограничение.

Спасибо.


person Soumya Ranjan Sahoo    schedule 14.12.2020    source источник
comment
Если вы хотите удалить узел, почему бы вам просто не удалить его? данные эластичного находятся в папке Data. так что довольно легко просто удалить все. elastic.co/guide/en/elasticsearch/ ссылка / 2.0 /   -  person Jaycreation    schedule 15.12.2020
comment
stackoverflow.com/questions/ 45585881 /   -  person hamid bayat    schedule 15.12.2020
comment
Но затем мне нужно использовать эластичный поиск для дальнейшего использования, и поэтому мне нужно заново установить его.   -  person Soumya Ranjan Sahoo    schedule 16.12.2020
comment
Нет ли другого безопасного способа удалить узел, поскольку мне больше не нужны старые индексы?   -  person Soumya Ranjan Sahoo    schedule 16.12.2020


Ответы (1)


Я хочу удалить все индексы из узла

Чтобы удалить all индексы из узла, получите список индексов и затем вызовите delete для каждого.

E.g.

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".

Надеюсь это поможет.

person Sandeep Kanabar    schedule 16.12.2020
comment
Спасибо. Это помогает :) - person Soumya Ranjan Sahoo; 17.12.2020