【问题标题】:Data node can't connect to the master node cluster数据节点无法连接到主节点集群
【发布时间】:2020-11-03 02:54:10
【问题描述】:

所以,我有两台 elasticsearch 服务器(elasticsearch 版本 7)并想形成一个包含主节点和数据节点的集群,但我在将它们连接到同一个集群时遇到了一些困难,这些是我的 .yml 文件和到目前为止我尝试过的事情,任何帮助将不胜感激:

xxx.235 yml: #数据节点

cluster.name: monitoring
node.name: "es-data-node-2"
node.master: false
node.data: true

path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch

network.host: xxx.235
network.publish_host: xxx.52
http.port: 9200

discovery.seed_hosts: ["xxx.52", "xxx.235"] #tried this instead as well discovery.zen.ping.unicast.hosts: 2
discovery.zen.minimum_master_nodes: 2 #tried with 1 also
cluster.initial_master_nodes: ["xxx.52"]

xxx.52 yml: #master 节点

cluster.name: monitoring
node.name: "es-master"
node.master: true
node.data: false

path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch

network.host: xxx.52
http.port: 9200

discovery.seed_hosts: ["xxx.52", "xxx.235"] #tried this instead as well discovery.zen.ping.unicast.hosts: 2
discovery.zen.minimum_master_nodes: 2 #tried with 1 also
cluster.initial_master_nodes: ["xxx.52"]

我尝试过但没有帮助的事情: 启用 9200 和 9300 端口并通过 telnet 对其进行测试,连接良好且端口已打开。 在两台服务器上添加行 publish_host。 在 seed_hosts 和 zen.ping.unicast.hosts 之间切换。

直到我添加了这条线 节点主:假 在数据节点上,它刚刚启动但没有连接到正确的集群,我们两个节点都在各自独立的集群上

【问题讨论】:

  • 你运行的是哪个版本的 elasticsearch? 6版和7版形成集群的方式不一样,为什么你把你的data节点的network.publish_host设置成你的master节点的IP呢?您的数据节点机器是否有另一个以.52 结尾的 IP?此外,如果这些 IP 不是公开的,您可以毫无问题地在您的问题中分享它们。
  • 哦,是的,我忘了提到我正在使用 Elasticsearch 7。network.publish_host 是我在网上找到的答案之一,所以试了一下,如下所述,但没有任何成功。

标签: elasticsearch elastic-stack elk


【解决方案1】:

您正在混合版本 6 和版本 7 的配置,discovery.zen.minimum_master_nodes 选项在版本 7 上被忽略。

要形成一个集群,您只需要discovery.seed_hostscluster.initial_master_nodes

你的主节点的配置应该是:

cluster.name: monitoring
node.name: "es-master"
node.master: true
node.data: false

path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch

network.host: xxx.52
http.port: 9200

discovery.seed_hosts: ["xxx.52"]
cluster.initial_master_nodes: ["xxx.52"]

对于您的数据节点:

cluster.name: monitoring
node.name: "es-data-node-2"
node.master: false
node.data: true

path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch

network.host: xxx.235
http.port: 9200

discovery.seed_hosts: ["xxx.52"]
cluster.initial_master_nodes: ["xxx.52"]

discovery.seed_hosts 是一个主节点列表,你只有一个主节点。

cluster.initial_master_nodes 是一个列表,仅在你第一次启动集群时使用,它决定了将在 virst 选举中计票的节点,而且你只有一个 master。

通过这些配置,您的数据节点应该加入集群。

【讨论】:

    猜你喜欢
    • 2018-06-30
    • 2016-07-11
    • 2018-03-31
    • 2019-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-10
    • 1970-01-01
    相关资源
    最近更新 更多