Сервис Elasticsearch часто выходит из строя или его убивают
Мой веб-сервер работает под управлением Ubuntu 14.10 с asticsearch 1.5.0 и Java 1.7u55
По какой-то причине сервис asticsearch часто выходит из строя, в результате чего мой веб-сайт становится недоступным для моих пользователей (с использованием FOSElasticaBundle с Symfony).
Я использую systemctl, чтобы перезапустить его автоматически, но я бы предпочел хорошее исправление раз и навсегда. Я чувствую, что журналы, которые я имею, не достаточно описательны. Будучи довольно новым для управления сервером, мне нужна помощь.
Может ли кто-нибудь помочь мне выяснить причину этой неудачи? Какие правильные файлы я могу вывести здесь, чтобы лучше понять проблему?
Спасибо!
Мой статус systemctl дает:
elasticsearch.service - ElasticSearch
Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; enabled)
Active: active (running) since Mon 2015-04-20 12:04:24 CEST; 1h 56min ago <------------- Here it means restarted 1h56 ago. Why did it fail in the first place ?
Main PID: 9120 (java)
CGroup: /system.slice/elasticsearch.service
└─9120 /usr/bin/java -Xms256m -Xmx1g -Djava.awt.headless=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingO...
В моем журнале есть:
Apr 18 18:56:19 xx.ovh.net sshd[29397]: error: open /dev/tty failed - could not set controlling tty: Permission denied
Apr 20 13:52:45 xx.ovh.net sshd[9764]: error: open /dev/tty failed - could not set controlling tty: Permission denied
РЕДАКТИРОВАТЬ: он часто перезапускается, когда я запускаю первый поисковый запрос:
elasticsearch.service - ElasticSearch
Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; enabled)
Active: activating (auto-restart) (Result: signal) since Tue 2015-04-21 12:27:43 CEST; 10s ago
Process: 15618 ExecStart=/usr/share/elasticsearch/bin/elasticsearch (code=killed, signal=ABRT)
Main PID: 15618 (code=killed, signal=ABRT)
2 ответа
Что ж, из-за низкого числа повторений я не могу комментировать, но одному экземпляру asticsearch требуется по крайней мере 1,5 ГБ для комфортной работы, возможно, намного больше, в зависимости от того, что вы об этом просите. По умолчанию эластик занимает 1 ГБ памяти, а затем lucene (библиотека поиска, которую использует ES) займет другую память для выполнения поиска. Ниже приведено несколько ссылок с сайта эластика об управлении памятью и предотвращении уничтожения OOM-киллера из-за использования памяти.
https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-configuration.html
https://www.elastic.co/guide/en/elasticsearch/guide/current/_limiting_memory_usage.html
Когда это произойдет, следующая проверка free - m
и отслеживать журналы Elasticsearch на /var/log/elasticsearch/your cluster name.log
, - тьфу, это должен был быть комментарий, но приложение для Android сделало его ответом...