Предотвратить гибель эластичного поиска от убийцы ООМ
Я новичок вasticsearch, и я предполагаю, что способ, которым я настроил свой сервер, является неоптимальным, так как я сталкиваюсь с проблемой убийцы OOM, убивающей процесс Elasticsearch / Java через некоторое время. Этого, вероятно, можно избежать, если бы сервер настроен правильно. Не могли бы вы указать, что в конфигурации необходимо изменить для бесперебойной работы ES?
На обоих этих серверах (которые кластеризованы) я иногда возвращаюсь к тому, что процесс ES / java был убит.
Вот текущая настройка:
===========================================
Сервер 1 (Frontend server) Этот сервер имеет 8 ГБ оперативной памяти, а также работает gunicorn, Flask и Django
elasticsearch.yml:
node.master: true
node.data: true
bootstrap.mlockall: true
/ И т.д. / по умолчанию / elasticsearch
ES_HEAP_SIZE=5g
MAX_OPEN_FILES=65535
MAX_LOCKED_MEMORY=unlimited
===========================================
Сервер 2 (выделенный сервер Elasticsearch) с 8 ГБ ОЗУ и другими запущенными приложениями
elasticsearch.yml:
node.master: false
node.data: true
bootstrap.mlockall: true
/ И т.д. / по умолчанию / elasticsearch
ES_HEAP_SIZE=5g
MAX_OPEN_FILES=65535
MAX_LOCKED_MEMORY=unlimited
===========================================
В файлеasticsearch.yml я вижу строку с надписью "You should also make sure that the Elasticsearch process is allowed to lock the memory, eg. by using ulimit -l unlimited
«Но я ничего не сделал для этого. Нужно ли здесь что-то предпринимать?
Если я попытаюсь набрать это, я получу ...
myuser@es1:~$ sudo ulimit -l unlimited
sudo: ulimit: command not found