Usługa Elasticsearch często przestaje działać lub ginie

2

Na moim serwerze działa Ubuntu 14.10 z elasticsearch 1.5.0 i java 1.7u55

Z jakiegoś powodu usługa elasticsearch często przestaje działać, co powoduje, że moja witryna nie jest już dostępna dla moich użytkowników (używając FOSElasticaBundle z symfony).

Korzystam z systemctl, aby zrestartować go automatycznie, ale wolałbym dobrą naprawę raz na zawsze. Wydaje mi się, że logi, które mam, nie są wystarczająco opisowe. Będąc całkiem nowym w zarządzaniu serwerem, potrzebuję pomocy.

Czy ktoś może mi pomóc ustalić przyczynę niepowodzenia? Jakie są odpowiednie pliki, które mogę wydrukować tutaj, aby lepiej zrozumieć problem?

Dzięki !

Mój status systemctl daje:

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

W moim dzienniku mam:

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

EDYCJA: często uruchamia się ponownie po uruchomieniu pierwszego żądania wyszukiwania:

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)
Sébastien
źródło
2
Czy twój system przechodzi w tryb OOM? Sprawdź wydajność dmesg.
EEAA
hmm, mam puste wyjście dla tego polecenia. czy to normalne ?
Sébastien

Odpowiedzi:

2

Cóż, z powodu niskiej liczby powtórzeń nie mogę komentować, ale jedna instancja elasticsearch potrzebuje co najmniej 1,5 gB do wygodnego działania, być może znacznie więcej w zależności od tego, o co prosisz. Domyślnie elastyczny zajmuje 1 gB pamięci, a następnie Lucene (biblioteka wyszukiwania, którą wykorzystuje ES) zajmie inną pamięć do przeprowadzenia wyszukiwania. Poniżej znajduje się kilka linków ze strony elastic na temat zarządzania pamięcią i powstrzymywania procesu przed zabiciem przez zabójcę OOM z powodu użycia pamięci.

https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-configuration.html#setup-configuration-memory

https://www.elastic.co/guide/en/elasticsearch/guide/current/_limiting_memory_usage.html

Will Barnwell
źródło
to był problem z pamięcią. zaktualizowałem mój serwer i już go nie zabijam
Sébastien
2

Kiedy to nastąpi, sprawdź free - mi monitoruj dzienniki Elasticsearch w /var/log/elasticsearch/your cluster name.log. - ugh, to miał być komentarz, ale aplikacja na Androida dała mu odpowiedź ...

NerdyBiker
źródło
cóż, właśnie został zabity i nie ma edytowanego dziennika tego dnia w tym folderze
Sébastien
Ile ram ma twoja maszyna? Czy możesz sprawdzić free -m tuż przed ponownym uruchomieniem?
NerdyBiker
Zrobiłem to już, bez zmian ... Mam 2 Gb (bardzo mały serwer) i tuż przed i po wyłączeniu miałem około 1 Gb za darmo
Sébastien