Установка 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