Проблема настройки кластераasticsearch, всегда возвращайте 1 узел, что не так в конфигурации? - PullRequest
0 голосов
/ 09 февраля 2020

У меня есть 3 сервера с ips:

server-1: xxx.xxx.xxx.102

serverr-2: xxx.xxx.xxx.251

server-3: xxx.xxx.xxx.34

Elasticsearch был установлен на всех серверах. а также добавить правило брандмауэра для всех:

firewall-cmd --permanent --add-port=9200/tcp
firewall-cmd --permanent --add-port=9300/tcp
firewall-cmd --reload

Elasti c config на серверах:

server-1:

cluster.name: cluster-mode
node.name: node1
node.master: true
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
discovery.zen.ping.unicast.hosts: ["xxx.xxx.xxx.34", "xxx.xxx.xxx.251", "xxx.xxx.xxx.102"]
discovery.zen.minimum_master_nodes: 2

server-2:

cluster.name: cluster-mode
node.name: node2
node.master: true
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
discovery.zen.ping.unicast.hosts: ["xxx.xxx.xxx.34", "xxx.xxx.xxx.251", "xxx.xxx.xxx.102"]
discovery.zen.minimum_master_nodes: 2

server-3:

cluster.name: cluster-mode
node.name: node3
node.master: true
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
discovery.zen.ping.unicast.hosts: ["xxx.xxx.xxx.34", "xxx.xxx.xxx.251", "xxx.xxx.xxx.102"]
discovery.zen.minimum_master_nodes: 2

У меня перезагрузка elasti c на всех серверах и проверка работоспособности кластера

curl -XGET http://xxx.xxx.xxx.102: 9200 / _cluster / health? Довольно

но всегда возвращают 1 узел

{
  "cluster_name" : "cluster-mode",
  "status" : "green",
  "timed_out" : false,
  "number_of_nodes" : 1,
  "number_of_data_nodes" : 0,
  "active_primary_shards" : 0,
  "active_shards" : 0,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 0,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 100.0
}

Где я неправильно настроил? нужна помощь. Спасибо!

1 Ответ

1 голос
/ 10 февраля 2020

Elasticsearch теперь использует метод, называемый начальная загрузка кластера , для формирования кластера. Чтобы это произошло при первом запуске кластера, вы должны предоставить набор начальных главных узлов, которые будут использоваться для кластера, а также предоставить список начальных хостов, которые являются основными подходящими узлами, и их голос решает главные выборы.

Поэтому замените следующее:

discovery.zen.ping.unicast.hosts: ["xxx.xxx.xxx.34", "xxx.xxx.xxx.251", "xxx.xxx.xxx.102"]
discovery.zen.minimum_master_nodes: 2

на следующие свойства:

cluster.initial_master_nodes: ["node1", "node2", "node3"]
discovery.seed_hosts: ["xxx.xxx.xxx.34", "xxx.xxx.xxx.251", "xxx.xxx.xxx.102"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...