#elasticsearch
#elasticsearch
Вопрос:
У меня запущен кластер Elasticsearch, он содержит 3 главных узла и 5 узлов данных. Версия 7.6.0.
Конфигурация основных узлов выглядит следующим образом:
cluster.name: es-cluster
node.name: master-0[1-3]
bootstrap.memory_lock: true
node.master: true
node.voting_only: false
node.data: false
node.ingest: false
node.ml: false
path.data: /data/elasticsearch
path.logs: /var/log/elasticsearch
http.port: 9200
network.host: 0.0.0.0
discovery.seed_hosts:
- IP-master-01:9300
- IP-master-02:9300
- IP-master-03:9300
- IP-data-01:9300
- IP-data-02:9300
- IP-data-03:9300
- IP-data-04:9300
- IP-data-05:9300
Конфигурация узлов данных:
cluster.name: es-cluster
node.name: data-0[1-5]
bootstrap.memory_lock: true
node.data: true
node.master: false
node.voting_only: false
node.ingest: false
node.ml: false
cluster.remote.connect: false
path.data: /data/elasticsearch
path.logs: /var/log/elasticsearch
http.port: 9200
network.host: 0.0.0.0
discovery.seed_hosts:
- IP-master-01:9300
- IP-master-02:9300
- IP-master-03:9300
- IP-data-01:9300
- IP-data-02:9300
- IP-data-03:9300
- IP-data-04:9300
- IP-data-05:9300
Я собираюсь добавить новый узел данных. Пожалуйста, помогите мне понять наилучшую практику добавления узла в существующий кластер ES.
Вопрос касается обнаружения параметра.seed_hosts. Насколько я понимаю, он должен быть одинаковым для всех узлов ES, поэтому в моем случае это означает, что я должен добавить это:
- IP-data-06:9300
в discovery.seed_hosts всех узлов ES (конечно, включая вновь созданный узел).
Но означает ли это, что я должен перезапустить все остальные узлы после добавления 6-го узла данных? В противном случае, как одна и та же конфигурация будет применяться ко всем узлам ES? Или, может быть, то же самое discovery.seed_hosts для всех узлов вообще не важно?
Заранее спасибо за разъяснение.
Ответ №1:
Вы допускаете небольшую ошибку, в discovery.seed_hosts
нем должны быть только узлы, отвечающие требованиям master, а не все узлы.
Поскольку вы добавляете узел данных, вам не нужно добавлять этот узел в эту конфигурацию, также вы можете удалить все узлы, которые не имеют права на мастер, из этой конфигурации в вашем новом узле данных.
Просто используйте эту конфигурацию во всех ваших узлах данных.
cluster.name: es-cluster
node.name: data-X
bootstrap.memory_lock: true
node.data: true
node.master: false
node.voting_only: false
node.ingest: false
node.ml: false
cluster.remote.connect: false
path.data: /data/elasticsearch
path.logs: /var/log/elasticsearch
http.port: 9200
network.host: 0.0.0.0
discovery.seed_hosts:
- IP-master-01:9300
- IP-master-02:9300
- IP-master-03:9300
Сейчас нет необходимости перезапускать все ваши узлы, но когда вы планируете это сделать, исправьте свою конфигурацию и оставьте в настройках только узлы, отвечающие требованиям master discovery.seed_hosts
.