Остановка Elasticsearch
Порядочная остановка Elasticsearch гарантирует, что Elasticsearch имеет возможность очистить и закрыть открытые ресурсы. Например, узел, который останавливается в штатном режиме, удалит себя из кластера, синхронизирует транслоги на диск и выполнит другие связанные задачи очистки. Вы можете помочь обеспечить плавную остановку, правильно остановив Elasticsearch.
Если вы запускаете Elasticsearch в качестве службы, вы можете остановить Elasticsearch с помощью функциональности управления службами, предоставляемой вашей установкой.
Если вы запускаете Elasticsearch напрямую, вы можете остановить Elasticsearch, отправив сигнал control-C, если вы запускаете Elasticsearch в консоли, или отправив SIGTERM процессу Elasticsearch в системе POSIX. Вы можете получить PID для отправки сигнала с помощью различных инструментов (например, ps или jps):
$ jps | grep Elasticsearch 14542 Elasticsearch
Из журналов запуска Elasticsearch:
[2016-07-07 12:26:18,908][INFO ][node ] [I8hydUG] version[5.0.0-alpha4], pid[15399], build[3f5b994/2016-06-27T16:23:46.861Z], OS[Mac OS X/10.11.5/x86_64], JVM[Oracle Corporation/Java HotSpot(TM) 64-Bit Server VM/1.8.0_92/25.92-b14]
Или указав расположение для записи файла PID при запуске (-p <path>):
$ ./bin/elasticsearch -p /tmp/elasticsearch-pid -d $ cat /tmp/elasticsearch-pid && echo 15516 $ kill -SIGTERM 15516
Остановка при возникновении критических ошибок
В течение жизненного цикла виртуальной машины Elasticsearch могут возникнуть определенные критические ошибки, которые помещают виртуальную машину в неопределённое состояние. К таким критическим ошибкам относятся ошибки недостатка памяти, внутренние ошибки виртуальной машины и серьёзные ошибки ввода-вывода.
Когда Elasticsearch обнаруживает, что виртуальная машина столкнулась с такой критической ошибкой, Elasticsearch попытается залогировать ошибку, а затем остановит виртуальную машину. Когда Elasticsearch инициирует такую остановку, он не проходит через упорядоченную остановку, как описано выше. Процесс Elasticsearch также вернёт специальный код состояния, указывающий на характер ошибки.
| Убит агентом jvmkiller | 158 |
| Пользовательский или ядровый SIGTERM | 143 |
| Уничтожен ядром oom-killer | 137 |
| Ошибка сегментации | 134 |
| Внутренняя ошибка JVM | 128 |
| Ошибка недостатка памяти | 127 |
| Ошибка переполнения стека | 126 |
| Неизвестная ошибка виртуальной машины | 125 |
| Серьёзная ошибка ввода-вывода | 124 |
| Ошибка проверки загрузки | 78 |
| Неизвестная критическая ошибка | 1 |
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/stopping-elasticsearch.html