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

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

31 Декабря 2019 | CentOS

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

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

Пользователь, в который вы вошли, должен иметь права 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.servicesudo systemctl start elasticsearch.service


Вы можете убедиться, что Elasticsearch запущен, отправив HTTP-запрос на порт 9200 на localhost с помощью следующей команды 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


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


Настройка Elasticsearch 

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

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


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

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

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

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


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

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

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


sudo firewall-cmd --zone=elasticsearch --add-source=<IP_ADDRESS> --permanentsudo 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.


    Комментарии

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

Загрузка комментариев...