Кластер Elasticsearch не отображается - PullRequest
0 голосов
/ 26 мая 2020

Привет, я установил Elasticsearch 6.6 с Ansible playbook в кластере с 3 узлами. Все узлы подключены к одному порту.

Когда я запускаю запрос:

curl  -u es_admin:<pass> -X GET 'https://<hostname1>:9201/_nodes/process?pretty' -k

Я вижу только один узел в кластере:

{
  "_nodes" : {
    "total" : 1,
    "successful" : 1,
    "failed" : 0
  },
  "cluster_name" : "new_cluster",
  "nodes" : {
    "Qlqcbgs_QmWXpglNVoOApQ" : {
      "name" : "node1",
      "transport_address" : "<IP_address>:9301",
      "host" : "<hostname1>",
      "ip" : "<IP_address>",
      "version" : "6.6.0",
      "build_flavor" : "default",
      "build_type" : "rpm",
      "build_hash" : "<build_hash_number>",
      "roles" : [
        "master",
        "data",
        "ingest"
      ],
      "attributes" : {
        "ml.machine_memory" : "16653647872",
        "xpack.installed" : "true",
        "ml.max_open_jobs" : "20",
        "ml.enabled" : "true"
      },
      "process" : {
        "refresh_interval_in_millis" : 1000,
        "id" : 11674,
        "mlockall" : false
      }
    }
  }
}

Я получаю одинаковый результат для каждого узла отдельно:

curl  -u es_admin:<pass> -X GET 'https://<hostname2>:9201/_nodes/process?pretty' -k
curl  -u es_admin:<pass> -X GET 'https://<hostname3>:9201/_nodes/process?pretty' -k

В elasticsearch.template.yml я вижу другие узлы. Например, если я go к node1, я вижу два других:

discovery.zen.ping.unicast.hosts:
- <hostname2>:9301
- <hostname3>:9301

вот elasticsearch.yml:

node.name: node1

network.host: <hostname>

http.port: 9201

transport.tcp.port: 9301

node.master: true

node.data: true

node.ingest: true

search.remote.connect: true



#################################### Paths ####################################

# Path to directory containing configuration (this file and logging.yml):

path.data: /var/lib/elasticsearch/node1

path.logs: /var/log/elasticsearch/node1

discovery.zen.ping.unicast.hosts:
- <hostname2>:9301
- <hostname3>:9301



xpack.license.self_generated.type: trial


node.ml: true


xpack.ml.enabled: true


xpack.security.audit.enabled: true

xpack.security.enabled: true



xpack.security.transport.ssl.enabled: true
xpack.security.http.ssl.enabled: true
xpack.ssl.keystore.path: **path**
xpack.ssl.keystore.password: *passwd*
xpack.ssl.truststore.path: **path**
xpack.ssl.truststore.password: *passwd*

Что нужно сделать, чтобы увидеть все узлы в одном кластере?

Ответы [ 2 ]

1 голос
/ 26 мая 2020

В 6.X вам также необходимо установить discovery.zen.minimum_master_nodes, чтобы сообщить вашим узлам, какое минимальное количество главных узлов требуется для формирования кластера.

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

Установите значение discovery.zen.minimum_master_nodes: 2 в каждом файле elasticsearch.yml и перезапустите свои узлы.

0 голосов
/ 26 мая 2020

Я думаю, что все discovery.zen.ping.unicast.hosts должны быть одинаковыми на всех узлах.

discovery.zen.ping.unicast.hosts:
- <hostname1>:9301
- <hostname2>:9301
- <hostname3>:9301

попробуйте это или просто:

discovery.zen.ping.unicast.hosts: ["hostname1:9301"]
...