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)
dmesg
.Odpowiedzi:
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
źródło
Kiedy to nastąpi, sprawdź
free - m
i monitoruj dzienniki Elasticsearch w/var/log/elasticsearch/your cluster name.log
. - ugh, to miał być komentarz, ale aplikacja na Androida dała mu odpowiedź ...źródło