Установка Elasticsearch в Ubuntu 22.04

Elasticsearch — это популярное решение для организации полнотекстового поиска с открытым исходным кодом, на основе библиотеки Apache Lucene. Программа поддерживает продвинутую фильтрацию, различные типы поисковых запросов, морфологический анализ текстов и многое другое.

На сайте уже есть статьи о том как пользоваться фильтрами Elastic, а также как работает поиск. В этой статье мы рассмотрим как выполняется установка Elasticsearch в Ubuntu 22.04, а также как настроить авторизацию в Elasticsearch и как установить графический интерфейс Kibana для управления индексами.

Содержание статьи:

Установка и настройка Elasticsearch в Ubuntu 22.04

1. Установка Elasticsearch

Способ установки последний версии Elasticsearch в Ubuntu только один. Надо добавить репозиторий разработчиков в систему и установить программу оттуда. Установите необходимые пакеты:

sudo apt install curl

Сначала добавьте GPG ключ репозитория:

curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch |sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg

Затем добавьте сам репозиторий. Для установки Elasticsearch 8.x добавьте такой репозиторий:

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

Затем обновите список доступных пакетов в репозиториях:

sudo apt update

И установите программу:

sudo apt install elasticsearch

Если вы устанавливаете Elasticsearch 8 и выше, то авторизация будет включена по умолчанию, тогда в выводе установки будут выведены сгенерированные пароли для пользователя elastic, запишите его где нибудь чтобы использовать в будущем.

2. Запуск Elasticsearch

После завершения установки вы можете запустить Elasticsearch с помощью systemd:

sudo systemctl start elasticsearch

Также можно добавить программу в автозагрузку и сразу же запустить:

sudo systemctl start --now elasticsearch

Для того чтобы убедится что запуск прошёл успешно выполните такую команду:

sudo systemctl status elasticsearch

Для того чтобы убедится что Elasticsearch работает, вы можете выполнить такой запрос с помощью curl:

curl -XGET https://127.0.0.1:9200 --insecure -u "elastic:пароль"

В качестве пароля надо передать пароль от пользователя elastic, который был сгенерирован при установке.

3. Настройка Elasticsearch

В конфигурационном файле /etc/elasticsearch/elasticsearch.yml можно настроить адрес и порт, на котором будет ожидать соединений Elasticsearch. За адрес отвечает http.host, а за порт http.port. По умолчанию используется IP адрес 0.0.0.0, а значит к Elasticsearch смогут подключится все участники сети. Вы можете установить 127.0.0.1 для того чтобы подключится можно было только локально:

sudo vi /etc/elasticsearch/elasticsearch.yml

http.host: 127.0.0.1

Если на вашем сервере мало оперативной памяти, вы можете ограничить количество памяти, потребляемой Elasticsearch. Для этого откройте файл /etc/elasticsearch/jvm.options и добавьте такие строчки:

sudo vi /etc/elasticsearch/jvm.options

-Xms4g
-Xmx4g

Здесь 4g — количество памяти, которую можно использовать в гигабайтах. В данном случае 4 гигабайта. Можно выбрать 512m для того чтобы ограничить размер памяти 512-ю мегабайтами.

4. Защита Elasticsearch

По умолчанию Elasticsearch слушает все подключения к порту 9200. Поэтому к нему могут получить доступ посторонние. В последних версиях Elasticsearch появилась возможность включить авторизацию по логину и паролю. Программа уже имеет предустановленных пользователей. Это суперпользователь elastic и ещё несколько пользователей для работы стека ELK: kibana_system, logstash_system, beats_system, apm_system, apm_system, remote_monitoring_user.

В Elasticsearch 8 пароли генерируются при установке. Если вы хотите сбросить пароль, например, для пользователя elastic, используйте следующую команду:

/usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic

Эта команда устанавливает автоматически сгенерированный пароль и выводит его в консоль. Если вы хотите сами ввести пароль используйте опцию -i:

/usr/share/elasticsearch/bin/elasticsearch-reset-password -i -u elastic

После запуска утилиты, она предложит подтвердить сброс пароля, а затем попросит два раза ввести новый пароль.

5. Установка Kibana

Для взаимодействиями с индексами Elasticsearch удобно использовать Kibana. Вы можете установить её из того же репозитория с помощью команды:

sudo apt install kibana

Дальше можно запустить или перезапустить сервис kibana:

sudo systemctl start kibana

6. Настройка Kibana

Для Kibana надо сгенерировать токен доступа. Для этого выполните команду:

/usr/share/elasticsearch/bin/elasticsearch/create-enrollment-token -s kibana

Затем откройте веб-интерфейс Kibana в браузере по адресу localhost:5601. При первом запуске необходимо указать токен доступа для настройки Elasticsearch, который был сгенерирован ранее:

Далее Kibana попросит код верификации:

Этот код можно сгенерировать в терминале используя команду:

sudo /usr/share/kibana/bin/kibana-verification-code

Далее откроется окно настройки Kibana. Это может занять некоторое время:

Дальше Kibana предложит ввести логин и пароль. Можете использовать логин elastic и пароль, который задали для этого пользователя ранее. При первом входе Kibana предложит выполнить кое-какие настройки и добавить данные, можно нажать кнопку Explore on my own, для того чтобы пропустить.

Для того чтобы начать выполнять запросы к Elasticsearch откройте раздел DevTools в боковом меню:

Вместо всего этого, вы можете установить пароль доступа для Elasticsearch в конфигурационном файле /etc/kibana/kibana.yml:

sudo vi /etc/kibana/kibana.yml

elasticsearch.username: "kibana_system"
elasticsearch.password: "пароль"

Выводы

В этой небольшой статье мы рассмотрели как установить Elasticsearch в Ubuntu 22.04, а также как настроить авторизацию и Kibana для управления индексами. Как видите, всё довольно просто. Вы можете прочитать более подробно о том как использовать Elasticsearch в этой статье. А здесь можно прочитать про функциональность поиска в Elasticsearch.


Creative Commons License
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Оцените статью:

Загрузка…

Источник: https://losst.ru/
Материал распространяется под лицензией CC-BY-SA

EnglishRussian