Добавьте узлы для создания локального кластера Elasticsearch [7.8]

Я изучаю Elastic Search (v7.8), поэтому я создал локальный кластер, чтобы протестировать его. Я сделал 3 виртуальные машины с Ubuntu 18, с одинаковым количеством ресурсов, в одной сети с IP-адресами:

  • 192.168.1.77
  • 192.168.1.76
  • 192.168.1.75

Все правильная индивидуальная установка, каждая отвечает на свой API:

curl -XGET localhost:9200/?pretty

Но когда я попытался сделать кластер редактирования /etc/elasticsearch/elasticsearch.yml каждый формирует свой одноименный кластер с одним узлом. Вот мой файл: https://gist.github.com/RedxLus/f8eb561157c7f2b61fb4dfaa74fe8868

Вот вывод каждого узла. Точно так же.:

curl -XGET 192.168.1.77:9200/_cluster/health?pretty

{
  "cluster_name" : "luisiblog",
  "status" : "green",
  "timed_out" : false,
  "number_of_nodes" : 1,
  "number_of_data_nodes" : 1,
  "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
}

Я не знаю, является ли это ошибкой конфигурации или я пропустил какие-либо шаги по добавлению узлов. Надеюсь, они мне помогут. Большое спасибо всем.


person redxlus    schedule 12.07.2020    source источник


Ответы (1)


Во-первых, вам не хватает правильного значения network.host, которое должно быть 0.0.0.0, чтобы убедиться, что это видно по адресу без обратной связи.

Можете ли вы попробовать с приведенными ниже конфигами:

#это для узла 1

 cluster.name: elasticsearch
    node.name: node-1
    network.host: 0.0.0.0
    discovery.seed_hosts: ["192.168.1.77","192.168.1.76","192.168.1.75"]
    cluster.initial_master_nodes: ["192.168.1.77"]
    discovery.zen.minimum_master_nodes : 1
    node.master: true

#это для узла 2

cluster.name: elasticsearch
node.name: node-2
network.host: 0.0.0.0
discovery.seed_hosts: ["192.168.1.77","192.168.1.76","192.168.1.75"]
cluster.initial_master_nodes: ["192.168.1.77"]
discovery.zen.minimum_master_nodes : 1
node.master: false

# это для узла 3

cluster.name: elasticsearch
node.name: node-3
network.host: 0.0.0.0
discovery.seed_hosts: ["192.168.1.77","192.168.1.76","192.168.1.75"]
cluster.initial_master_nodes: ["192.168.1.77"]
discovery.zen.minimum_master_nodes : 1
node.master: false

Пожалуйста, обратите внимание, что я делаю один выделенный главный узел, в данном случае node-1

person user156327    schedule 12.07.2020
comment
Оно работает! Но только для одного узла, с которым у меня мастер 192.168.1.77 и другого. Проверка журналов дает: не удалось проверить входящий запрос на присоединение от node. - person redxlus; 12.07.2020
comment
@redxlus круто, но я не понял, что ты имеешь в виду под одним узлом? а как вы запустили три узла? - person user156327; 12.07.2020
comment
Сначала остановил службу (sudo service elasticsearch stop). Удалите данные (sudo rm -rf /var/lib/elasticsearch/*) и перезапустите службу (sudo service elasticsearch restart). Теперь все работает!! Спасибо ! - person redxlus; 12.07.2020
comment
@redxlus рад, что это сработало, и большое спасибо за принятие ответа, пожалуйста, проголосуйте, если это еще не сделано - person user156327; 12.07.2020