【问题标题】:elasticsearch must restart master for new node joining in zen discoveryelasticsearch 必须重新启动 master 以便新节点加入 zen 发现
【发布时间】:2015-10-15 14:39:51
【问题描述】:

我有一个 1.5.2 版本的 elasticsearch 集群
集群中有一个主节点和一个数据节点。
当我将一个名为 node.name : "Node2" 的新数据节点添加到集群(具有相同的集群名称)时,新节点无法加入集群没有日志表明发生了什么。
我的主要配置文件如下:
主节点配置:

cluster.name: cluster1
node.name: "Master"
node.master: true
node.data: false
discovery.zen.minimum_master_nodes: 1
discovery.zen.ping.timeout: 3s
discovery.zen.ping.retries: 6
discovery.zen.ping.interval: 30s

node1的数据节点配置:

cluster.name: cluster1
node.name: "Node1"
node.master: false
node.data: true
discovery.zen.minimum_master_nodes: 1
discovery.zen.ping.timeout: 3s
discovery.zen.ping.retries: 6
discovery.zen.ping.interval: 30s

node2的数据节点配置:

cluster.name: cluster1
node.name: "Node2"
node.master: false
node.data: true
discovery.zen.minimum_master_nodes: 1
discovery.zen.ping.timeout: 3s
discovery.zen.ping.retries: 6
discovery.zen.ping.interval: 30s

当我重新启动主节点时,新节点成功加入集群。
有谁知道如何在不重启主节点的情况下将新节点加入集群??

【问题讨论】:

  • node1 和 node2 的节点名相同:node.name: "Node1"
  • @Stefan 我输入了错误的节点名称,我已将其更改为“Node2”。还是无法加入集群

标签: elasticsearch


【解决方案1】:

如果您使用的是unicast,则需要添加:

discovery.zen.ping.unicast.hosts = [...]
discovery.zen.ping.multicast.enabled = False

如果您使用多播,则需要设置appropriate multicast settings(对于external multicast)。

如果您使用的是 AWS,我建议您查看 elasticsearch-cloud-aws 插件。

PS:在当前配置中,您没有数据节点。

【讨论】:

  • 我使用多播,我认为我使用了正确的设置。问题似乎是master无法发现新节点,直到我重新启动master。
  • @tottishi05 您将不得不提供更多信息。无法找到主节点的节点的输出是什么?
  • @tottishi05 另外,你在重启期间还有其他事情吗?如,这部分是否是构建过程和其他操作被触发?还是您只是终止进程并重新启动 elasticsearch 客户端?
  • 主节点和新节点都没有记录任何关于在失败实例中发现对方的日志。我只是输入“kill -2 pid”杀死master并重新启动它,然后它可以发现新节点并将其添加到集群中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-22
  • 1970-01-01
  • 2016-03-20
  • 1970-01-01
  • 2021-05-31
相关资源
最近更新 更多