Одноузловому кластеру ElasticSearch не хватает памяти

У меня есть кластер ElasticSearch с одним узлом, который имеет один индекс (я знаю, мой плохой), куда я вставил документы 2B.

Я не знал, что лучше всего разделять индексы, и мой вырос до 400 ГБ, прежде чем он рухнул.

Я попытался разделить свой индекс с помощью (https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-split-index.html), и я продолжаю получать java.lang.OutOfMemoryError независимо от того, что я делаю . Я исчерпал свою физическую память, и потоки просто застряли в файле _split.

У меня были некоторые файлы, которые были удалены через logstash, когда они были успешно проиндексированы, поэтому повторная вставка данных невозможна.

Какие-либо предложения?


person patito    schedule 02.07.2019    source источник
comment
Могу я спросить вас, чего вы хотите достичь с помощью _split? Успешны ли другие операции с индексом (поиск, вставка)?   -  person Nikolay Vasiliev    schedule 04.07.2019
comment
Я пытаюсь разделить индекс на пару осколков, чтобы я мог запросить его, на данный момент я не могу выполнить над ним какую-либо операцию. Раздельное решение исходит от того, что я пытаюсь не загружать 400 ГБ памяти для запроса. Разве это не правильная процедура?   -  person patito    schedule 04.07.2019
comment
Ситуация выглядит очень серьезной. Сколько осколков у вас есть на данный момент? На какой версии Elasticsearch вы работаете?   -  person Nikolay Vasiliev    schedule 04.07.2019
comment
У меня была настройка одного сегмента из-за того, что logstash создал файл index. Я использую последнюю стабильную версию 7.0.2.   -  person patito    schedule 05.07.2019
comment
Можете ли вы создать еще один экземпляр Elasticsearch? Сколько памяти он уже использует, сколько памяти доступно на машине?   -  person Nikolay Vasiliev    schedule 05.07.2019


Ответы (2)


Добавьте пространство подкачки или увеличьте объем оперативной памяти этого сервера.

Я все еще не понимаю, откуда у вас 2 миллиарда документов :/

person Nithin    schedule 02.07.2019

Никогда не используйте своп в машинах ES,

Используйте https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-recovery.html, чтобы проверить статус разделения

также вы изменили параметр максимальной памяти в конфигурации jvm для ES - https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html

person midhuntp    schedule 03.07.2019
comment
Я изменил конфигурации и проследил за разделением, но по-прежнему не могу выполнить задание разделения, а мой индекс непригоден для использования. - person patito; 04.07.2019