Elasticsearch + Kibana: кластер из 3 нод
Elasticsearch + Kibana: кластер из 3 нод
Приветcтвую 👋! Пошаговая инструкция по установке и настройке Elasticsearch и Kibana для кластера из трёх нод.
1. Предварительная подготовка
На каждом сервере:
1
2
sudo apt update && sudo apt upgrade -y # Обновление пакетов
sudo apt install openjdk-11-jdk -y # Установка Java (требуется для Elasticsearch)
2. Установка Elasticsearch
На каждом из трёх серверов:
- Добавьте ключ репозитория:
1
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
- Добавьте репозиторий:
1
sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elastic-7.x.list'
- Установите Elasticsearch:
1 2
sudo apt update sudo apt install elasticsearch -y
- Настройте кластер: откройте /etc/elasticsearch/elasticsearch.yml и отредактируйте параметры:
1 2 3 4 5 6 7
cluster.name: my-cluster node.name: "node-1" # Для второй ноды "node-2", для третьей "node-3" node.master: true node.data: true network.host: <IP-адрес_ноды> discovery.seed_hosts: ["<IP-адрес_нода_1>", "<IP-адрес_нода_2>", "<IP-адрес_нода_3>"] cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]
- Запустите и настройте автозапуск:
1 2
sudo systemctl enable elasticsearch sudo systemctl start elasticsearch
- Повторите эти шаги на всех трёх серверах, меняя node.name и network.host для каждой ноды.
Пример конфигурации для одной ноды:
1
2
3
4
5
6
7
cluster.name: gcek-cluster
node.name: gcEKnode1
path.data: /data2/elasticsearch
path.logs: /data2/elasticsearch/logs/
network.host: 10.10.4.61
discovery.seed_hosts: ["10.10.4.61", "10.10.4.62", "10.10.4.63"]
cluster.initial_master_nodes: ["gcEKnode1", "gcEKnode2", "gcEKnode3"]
Важно для Kibana:
- Если не используете безопасность:
1 2 3 4
xpack.security.enabled: false xpack.watcher.enabled: false xpack.ml.enabled: false xpack.monitoring.collection.enabled: false
- Если используете безопасность:
1 2 3 4 5 6 7 8
xpack.security.enabled: true xpack.security.enrollment.enabled: true xpack.security.http.ssl.enabled: false xpack.security.transport.ssl.enabled: true xpack.security.transport.ssl.verification_mode: certificate xpack.security.transport.ssl.client_authentication: required xpack.security.transport.ssl.keystore.path: elastic-certificates.p12 xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
3. Установка Kibana
Обычно на одном из серверов или отдельной машине:
1
sudo apt install kibana -y
Настройте /etc/kibana/kibana.yml:
1
2
3
4
5
server.port: 5601
server.ssl.enabled: false
elasticsearch.hosts: ["http://10.10.4.61:9200","http://10.10.4.62:9200","http://10.10.4.63:9200"]
elasticsearch.username: "kibana_system"
elasticsearch.password: "<ваш_пароль>"
Запустите и настройте автозапуск:
1
2
sudo systemctl enable kibana
sudo systemctl start kibana
Kibana будет доступна по адресу http://10.10.4.61:5601
4. Проверка состояния кластера
Проверьте состояние кластера:
1
curl -X GET "http://10.10.4.61:9200/_cluster/health?pretty"
Если статус green — все ноды работают корректно.
Итоговые параметры и доступность
- Elasticsearch слушает на порту 9200
- Kibana доступна на порту 5601
- Откройте необходимые порты в фаерволе
Безопасность и пользователи
- Защитить ноды: https://www.elastic.co/guide/en/elasticsearch/reference/8.15/security-basic-setup.html#encrypt-internode-communication
- Создать пользователей: https://discuss.elastic.co/t/how-to-enable-kibana-system-user-for-kibana-application/263949/3
Используйте эти ссылки для настройки безопасности и пользователей.
Если потребуется актуализировать версии или команды — проверьте официальную документацию: