В ElasticSearch для одного узла не хватает памяти - PullRequest
0 голосов
/ 02 июля 2019

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

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

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

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

Есть предложения?

Ответы [ 2 ]

0 голосов
/ 03 июля 2019

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

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

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

0 голосов
/ 02 июля 2019

Добавить пространство подкачки или увеличить ОЗУ этого сервера.

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

...