Как установить Elasticsearch на CentOS 7

Установить Elasticsearch на CentOS 7

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

В этом руководстве объясняется, как установить Elasticsearch на CentOS 7.

Предпосылки

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

Установка Elasticsearch

Рекомендуемый способ установки Elasticsearch в CentOS 7 — установка пакета rpm из официального репозитория Elasticsearch.

На момент написания статьи последней версией Elasticsearch была 6.7 , для которой требуется Java 8 или более поздняя версия.

Чтобы установить OpenJDK 8 в системе CentOS, введите:

 sudo yum install java-1.8.0-openjdk-devel

Проверьте установку Java, распечатав версию Java :

 java -version

Вывод должен выглядеть примерно так:

 openjdk version "1.8.0_201" OpenJDK Runtime Environment (build 1.8.0_201-b09) OpenJDK 64-Bit Server VM (build 25.201-b09, mixed mode)

Теперь, когда Java установлена, следующим шагом будет добавление репозитория Elasticsearch.

Импортируйте ключ GPG репозитория с помощью следующей команды:

 sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

Откройте текстовый редактор и создайте следующий файл репозитория:

 sudo nano /etc/yum.repos.d/elasticsearch.repo

Вставьте в файл следующее содержимое:

/etc/yum.repos.d/elasticsearch.repo

 [elasticsearch-6.x] name = Elasticsearch repository for 6.x packages baseurl = https://artifacts.elastic.co/packages/6.x/yum gpgcheck = 1 gpgkey = https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled = 1 autorefresh = 1 type = rpm-md

Сохраните файл и закройте текстовый редактор.

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

Теперь вы можете установить пакет Elasticsearch, введя:

 sudo yum install elasticsearch

После завершения процесса установки запустите и включите службу, выполнив команду:

 sudo systemctl enable elasticsearch.service sudo systemctl start elasticsearch.service

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

 curl -X GET "localhost:9200/"

Вывод будет выглядеть примерно так:

 { "name" : "fLVNqN_", "cluster_name" : "elasticsearch", "cluster_uuid" : "6zKcQppYREaRH0tyfJ9j7Q", "version" : { "number" : "6.7.0", "build_flavor" : "default", "build_type" : "rpm", "build_hash" : "8453f77", "build_date" : "2019-03-21T15:32:29.844721Z", "build_snapshot" : false, "lucene_version" : "7.7.0", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "You Know, for Search" }

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

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

 sudo journalctl -u elasticsearch

На этом этапе на вашем сервере CentOS установлен Elasticsearch.

Настройка Elasticsearch

Данные Elasticsearch хранятся в каталоге /var/lib/elasticsearch , файлы конфигурации находятся в /etc/elasticsearch .

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

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

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

Начиная с CentOS 7, FirewallD заменяет iptables в качестве инструмента управления брандмауэром по умолчанию.

Выполните следующую команду, чтобы разрешить оценку с удаленного доверенного IP-адреса на порту 9200 :

 sudo firewall-cmd --new-zone=elasticsearch --permanent sudo firewall-cmd --reload sudo firewall-cmd --zone=elasticsearch --add-source=192.168.121.80/32 --permanent sudo firewall-cmd --zone=elasticsearch --add-port=9200/tcp --permanent sudo firewall-cmd --reload

Не забудьте изменить 192.168.121.80 на ваш удаленный IP-адрес.

Позже, если вы захотите разрешить доступ с другого IP-адреса, используйте:

 sudo firewall-cmd --zone=elasticsearch --add-source= --permanent sudo firewall-cmd --reload

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

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

 sudo nano /etc/elasticsearch/elasticsearch.yml

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

/etc/elasticsearch/elasticsearch.yml

 network.host: 0.0.0.0

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

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

 sudo systemctl restart elasticsearch

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

Заключение

Вы успешно установили Elasticsearch на CentOS 7. Теперь вы можете посетить официальную страницу документации Elasticsearch и узнать, как начать работу с Elasticsearch.

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

java elasticsearch database centos Не используете CentOS 7?
Выберите другую ОС:
центос 8 дебиан 10 дебиан 9 убунту 18.04 убунту 20.04

Связанные руководства

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *