Как установить Elasticsearch в Ubuntu 20.04 LTS

12 set 2022 3 min di lettura
Как установить Elasticsearch в Ubuntu 20.04 LTS
Indice dei contenuti

Введение

Elasticsearch — это распределенная система полнотекстового поиска и анализа с открытым исходным кодом. Он поддерживает операции RESTful и позволяет хранить, искать и анализировать большие объемы данных в режиме реального времени. Elasticsearch — одна из самых популярных поисковых систем, которая поддерживает приложения со сложными требованиями к поиску, такие как крупные интернет-магазины и аналитические приложения.

В этом руководстве объясняется, как установить Elasticsearch на Ubuntu 20.04 LTS Focal Fossa.

Если вы хотите создать ElasticSearch на удаленном сервере, продолжайте чтение, в противном случае пропустите первый абзац «Подключение к серверу» и читайте следующий.

Подключение к серверу

Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется ваше имя пользователя и пароль для аутентификации. Чтобы подключиться к серверу как root, введите следующую команду:

ssh root@IP_DEL_SERVER

Далее вам нужно будет ввести пароль пользователя root.

Если вы не используете пользователя root, вы можете войти под другим именем пользователя с помощью той же команды, а затем изменить root на свое имя пользователя:

ssh nome_utente@IP_DEL_SERVER

Затем вам будет предложено ввести пароль пользователя.

Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:

ssh nome_utente@IP_DEL_SERVER -p PORTA

Установить эластичный поиск

Установить Elasticsearch на Ubuntu довольно просто. Мы включим репозиторий Elasticsearch, импортируем ключ GPG репозитория и установим сервер Elasticsearch.

Пакет Elasticsearch поставляется со встроенной версией OpenJDK, поэтому устанавливать Java не нужно.

Сначала обновите индекс пакета и установите зависимости, необходимые для добавления нового репозитория HTTPS:

sudo apt update
sudo apt install apt-transport-https ca-certificates wget

Импортируйте ключ GPG репозитория:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

Приведенная выше команда должна сгенерировать OK, что означает, что ключ был успешно импортирован, и пакеты из этого репозитория будут доверенными.

Затем добавьте репозиторий Elasticsearch в систему, выполнив:

sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elastic-7.x.list'

Если вы хотите установить более старую версию Elasticsearch, измените значение 7.x в приведенной выше команде на нужную вам версию.

После включения репозитория установите Elasticsearch, набрав:

sudo apt update
sudo apt install elasticsearch

Служба Elasticsearch не запустится автоматически после завершения процесса установки. Чтобы запустить службу и включить службу:

sudo systemctl enable --now elasticsearch.service

Чтобы убедиться, что Elasticsearch запущен, используйте curl для отправки HTTP-запроса на порт 9200 на локальном хосте:

curl -X GET "localhost:9200/"

Вы должны увидеть что-то вроде этого:

{
 "name": "TEST-SERVER-1",
 "cluster_name": "elasticsearch",
 "cluster_uuid": "Kzkl_i3CQe2kFxmibT0sEw",
 "version": {
 "number": "7.8.0",
 "build_flavor": "default",
 "build_type": "deb",
 "build_hash": "757314695644ea9a1dc2fecd26d1a43856725e65",
 "build_date": "2020-06-14T19:35:50.234439Z",
 "build_snapshot": false,
 "lucene_version": "8.5.1",
 "minimum_wire_compatibility_version": "6.8.0",
 "minimum_index_compatibility_version": "6.0.0-beta1"
 },
 "tagline": "You Know, for Search"
 }

Запуск службы может занять 5-10 секунд. Если вы видите curl: (7) Failed to connect to localhost port 9200: Connection refused, подождите несколько секунд и повторите попытку.

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

sudo journalctl -u elasticsearch

Это все. Elasticsearch был установлен на вашем сервере Ubuntu.

Настройка эластичного поиска

Данные Elasticsearch хранятся в каталоге /var/lib/elasticsearch. Файлы конфигурации находятся в /etc/elasticsearch, а параметры запуска Java можно настроить в /etc/default/elasticsearch.

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

Удаленный доступ

Elasticsearch по умолчанию не реализует аутентификацию, поэтому к нему может получить доступ любой, у кого есть доступ к HTTP API.

Чтобы разрешить удаленный доступ к серверу Elasticsearch, вам необходимо настроить брандмауэр и открыть TCP-порт 6379.

Как правило, вы хотите разрешить доступ к серверу ElasticSearch только с определенного IP-адреса или диапазона IP-адресов. Например, чтобы разрешить подключения только из подсети 192.168.121.0/24, выполните следующую команду:

sudo ufw allow proto tcp from 192.168.121.0/24 to any port 6379

После настройки брандмауэра следующим шагом будет изменение конфигурации Elasticsearch и разрешение Elasticsearch прослушивать внешние подключения.

Для этого откройте файл конфигурации elasticsearch.yml:

sudo nano /etc/elasticsearch/elasticsearch.yml

Найдите строку, содержащую network.host, раскомментируйте ее и измените значение на 0.0.0.0:

network.host: 0.0.0.0
/etc/elasticsearch/elasticsearch.yml

Найдите строку discovery.seed_hosts, раскомментируйте ее и измените значение следующим образом для первой и простой конфигурации:

discovery.seed_hosts: []
/etc/elasticsearch/elasticsearch.yml

Подробнее о параметре discovery.seed_hosts читайте в официальной документации.

Если на вашем компьютере есть несколько сетевых интерфейсов, укажите IP-адрес интерфейса, чтобы заставить Elasticsearch прослушивать только предоставленный интерфейс.

Перезапустите службу Elasticsearch, чтобы изменения вступили в силу:

sudo systemctl restart elasticsearch

Это все. Теперь вы можете подключиться к серверу Elasticsearch из вашего удаленного местоположения.

Вывод

Мы показали вам, как установить Elasticsearch на Ubuntu 20.04 LTS Focal Fossa.

Для получения дополнительной информации об Elasticsearch посетите страницу официальной документации.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.