Установка и настройка Elasticsearch на Ubuntu 22.04.1 LTS по оригинальной инструкции — https://www.elastic.co/guide/en/elasticsearch/reference/current/deb.html
По наличию java на машине. На сколько я понял, предустановленная java не нужна.
Выполняем команды:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg 14 apt-get install apt-transport-https 15 echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list 16 apt-get update 17 apt list --upgradable 18 apt-get install elasticsearch
У меня установка закончилась вот так:
Authentication and authorization are enabled. TLS for the transport and HTTP layers is enabled and configured. The generated password for the elastic built-in superuser is : I_ttkgQJ6v-w-xYQ2cXQ If this node should join an existing cluster, you can reconfigure this with '/usr/share/elasticsearch/bin/elasticsearch-reconfigure-node --enrollment-token <token-here>' after creating an enrollment token on your existing cluster. You can complete the following actions at any time: Reset the password of the elastic built-in superuser with '/usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic'. Generate an enrollment token for Kibana instances with '/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana'. Generate an enrollment token for Elasticsearch nodes with '/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s node'. ------------------------------------------------------------------------------------------------- ### NOT starting on installation, please execute the following statements to configure elasticsearch service to start automatically using systemd sudo systemctl daemon-reload sudo systemctl enable elasticsearch.service ### You can start elasticsearch service by executing sudo systemctl start elasticsearch.service
Конфигурирую параметры:
network.host: 10.10.10.250
http.port: 9200
Выполняю:
sudo systemctl daemon-reload sudo systemctl enable elasticsearch.service sudo systemctl start elasticsearch.service
Возникает вот такая ошибка:
Mar 14 17:13:59 elasticsearch-co7.office systemd-entrypoint[970]: bootstrap check failure [1] of [1]: max virtual memory areas vm.max_map_count [65530] is too low, in Mar 14 17:13:59 elasticsearch-co7.office systemd-entrypoint[970]: ERROR: Elasticsearch did not exit normally - check the logs at /var/log/elasticsearch/elasticsearch. Mar 14 17:14:02 elasticsearch-co7.office systemd-entrypoint[970]: ERROR: [1] bootstrap checks failed. You must address the points described in the following [1] lines Mar 14 17:14:02 elasticsearch-co7.office systemd[1]: elasticsearch.service: main process exited, code=exited, status=78/n/a
Проверить текущее значение параметра можно командой:
sysctl -a | grep vm.max_map_count
Моя система это контейнер openvz. На хост машине надо выполнить команду:
sysctl -w vm.max_map_count=262144
Чтобы параметр сохранился и после перезагрузки, его надо прописать в /etc/sysctl.conf:
echo "vm.max_map_count=262144" >> /etc/sysctl.conf
По идее это должно помочь и привести к успеху, но нет. Elasticsearch по прежнему не стартова, давая код ошибки 137, что гуглится как нехватка ресурсов.
Я повторил инструкцию для CentOS 7, и вышел на ту же ошибку по vm.max_map_count [65530]. После того, как я поправил лимиты и перезапустил систему, то всё заработало.
Как разберусь с частью по Ubuntu (может быть, когда-нибудь), то сделаю update.
Провыерка работы:
root@elasticsearch-co7 / # curl --cacert /etc/elasticsearch/certs/http_ca.crt -u elastic https://localhost:9200 Enter host password for user 'elastic': { "name" : "elasticsearch-co7.office", "cluster_name" : "elasticsearch", "cluster_uuid" : "_l5CZ5xmRKeM7RVbHxFv4g", "version" : { "number" : "8.6.2", "build_flavor" : "default", "build_type" : "rpm", "build_hash" : "2d58d0f136141f03239816a4e360a8d17b6d8f29", "build_date" : "2023-02-13T09:35:20.314882762Z", "build_snapshot" : false, "lucene_version" : "9.4.2", "minimum_wire_compatibility_version" : "7.17.0", "minimum_index_compatibility_version" : "7.0.0" }, "tagline" : "You Know, for Search"