Пост

Установка ElasticSearch в Centos 8

Установка ElasticSearch в Centos 8

Elasticsearch – это одна из самых популярных поисковых систем в области Big Data, масштабируемое нереляционное хранилище данных с открытым исходным кодом, аналитическая NoSQL-СУБД с широким набором функций полнотекстового поиска.

Установка ElasticSearch из репозитория

Импортируем PGP Key для дальнейшего добавления репозитория ElasticSearch

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

Добавляем репозиторий

1
2
3
4
5
6
7
8
9
$ sudo nano /etc/yum.repos.d/elasticsearch.repo
[elasticsearch]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

Устанавливаем ElasticSearch

1
$ sudo dnf -y install elasticsearch

Добавляем службу ElasticSearch в автозагрузку и запускаем ее

1
$ sudo systemctl enable --now elasticsearch

Проверяем, запустилась ли служба

1
$ systemctl status elasticsearch

Установка ElasticSearch из RPM-пакета

Скачиваем пакет ElasticSearch и устанавливаем его

1
2
3
$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.9.3-x86_64.rpm -P /tmp
$ cd /tmp
$ sudo dnf -y localinstall elasticsearch-7.9.3-x86_64.rpm

Добавляем службу ElasticSearch в автозагрузку и запускаем ее

1
$ sudo systemctl enable --now elasticsearch

Проверяем, запустилась ли служба

1
$ systemctl status elasticsearch

Проверяем порт

1
$ ss -tulnp | grep 9200

Тестируем

1
$ curl -X GET "localhost:9200/"

Система должна отобразить весь список информации. Во второй строке вы должны увидеть, что для cluster_name установлено значение elasticsearch. Это подтверждает, что Elasticsearch работает и прослушивает порт 9200.

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

1
$ sudo journalctl -u elasticsearch

Настройка ElasticSearch

Редактируем конфигурационный файл ElasticSearch

1
2
3
4
5
6
7
8
9
10
$ sudo nano /etc/elasticsearch/elasticsearch.yml
...
# Set the bind address to a specific IP (IPv4 or IPv6):
#
network.host: localhost
#
# Set a custom port for HTTP:
#
http.port: 9200
...

Меняем минимальный/максимальный размер оперативной памяти, выделяемый для java-машины

1
2
3
4
5
$ sudo nano /etc/elasticsearch/jvm.options
...
-Xms2g
-Xmx2g
...

Перезапускаем ElasticSearch

1
$ sudo systemctl restart elasticsearch

Настройка Firewall

Открываем порт 9200

1
2
$ sudo firewall-cmd --add-port=9200/tcp --permanent
$ sudo firewall-cmd --reload

Настройка SELinux

Добавляем порт службы ElasticSearch 9200/tcp в политику SELinux

1
$ sudo semanage port -m -t http_port_t 9200 -p tcp
Авторский пост защищен лицензией CC BY 4.0 .