Elasticsearch на Ubuntu 22.04: Полная установка и настройка с нуля

Elasticsearch на Ubuntu 22.04: Полная установка и настройка с нуля

Представьте мощный поиск, который работает на таких гигантах, как Википедия и GitHub. Теперь эта технология доступна и вам на Ubuntu 22.04!

Elasticsearch — это не просто поиск, это целая экосистема для работы с данными. Он умеет не только быстро находить информацию, но и интеллектуально её анализировать, понимая морфологию языка.

Вы хотите развернуть собственный поисковый сервер для своего проекта? Мы подготовили для вас пошаговое руководство, которое проведет вас от установки до полноценной работы.

Вы узнаете, как правильно добавить официальный репозиторий в систему, чтобы всегда получать свежие версии. Мы разберемся с запуском и тонкой настройкой для серверов с разным объемом оперативной памяти.

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

Но на этом мы не остановимся. Для удобного управления индексами и данными мы установим Kibana — мощный веб-интерфейс. Вы научитесь генерировать токены доступа и проходить первоначальную настройку.

Готовы превратить ваш сервер в мощный поисковый центр? Всё необходимое ждет вас в полной версии статьи. Переходите и сделайте свой первый шаг в мир Elasticsearch прямо сейчас!


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 на Ubuntu 22.04: Полная установка и настройка с нуля

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

2. Запуск Elasticsearch

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

sudo systemctl start elasticsearch

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

sudo systemctl start --now elasticsearch

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

sudo systemctl status elasticsearch
Elasticsearch на Ubuntu 22.04: Полная установка и настройка с нуля

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

curl -XGET https://127.0.0.1:9200 --insecure -u "elastic:пароль"
Elasticsearch на Ubuntu 22.04: Полная установка и настройка с нуля

В качестве пароля надо передать пароль от пользователя 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 на Ubuntu 22.04: Полная установка и настройка с нуля

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

sudo vi /etc/elasticsearch/jvm.options

-Xms4g -Xmx4g

Elasticsearch на Ubuntu 22.04: Полная установка и настройка с нуля

Здесь 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
Elasticsearch на Ubuntu 22.04: Полная установка и настройка с нуля

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

/usr/share/elasticsearch/bin/elasticsearch-reset-password -i -u elastic
Elasticsearch на Ubuntu 22.04: Полная установка и настройка с нуля

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

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
Elasticsearch на Ubuntu 22.04: Полная установка и настройка с нуля

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

Elasticsearch на Ubuntu 22.04: Полная установка и настройка с нуля

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

Elasticsearch на Ubuntu 22.04: Полная установка и настройка с нуля

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

sudo /usr/share/kibana/bin/kibana-verification-code
Elasticsearch на Ubuntu 22.04: Полная установка и настройка с нуля

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

Elasticsearch на Ubuntu 22.04: Полная установка и настройка с нуля

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

Elasticsearch на Ubuntu 22.04: Полная установка и настройка с нуля

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

Elasticsearch на Ubuntu 22.04: Полная установка и настройка с нуля

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

sudo vi /etc/kibana/kibana.yml

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

Выводы

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

Оставить комментарий


Кликните на изображение чтобы обновить код, если он неразборчив