Android

Как установить эластичный поиск на Centos 7

[ ElasticSearch 1 ] Install logstash ELK stack on CentOS 7 | Elasticsearch, Logstash, Kibana

[ ElasticSearch 1 ] Install logstash ELK stack on CentOS 7 | Elasticsearch, Logstash, Kibana

Оглавление:

Anonim

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

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

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

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

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

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 на 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 --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 --zone=elasticsearch --add-source= --permanent sudo firewall-cmd --reload

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

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

sudo nano /etc/elasticsearch/elasticsearch.yml

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

/etc/elasticsearch/elasticsearch.yml

network.host: 0.0.0.0

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

sudo systemctl restart elasticsearch

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

Вывод

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

база данных Java