Hazelcast tcp ip配置群集:即使在指定群集名称后,也会有不需要的ip加入群集

Hazelcast tcp ip配置群集:即使在指定群集名称后,也会有不需要的ip加入群集,tcp,hazelcast,multicast,Tcp,Hazelcast,Multicast,我有两个hazelcast配置yaml文件: hazelcast-cluster1.yml: hazelcast: cluster-name: cluster1 network: join: multicast: enabled:false tip-ip: enabled: true member-list: machineA m

我有两个hazelcast配置yaml文件:

hazelcast-cluster1.yml:

  hazelcast:
    cluster-name: cluster1
    network:
      join:
        multicast:
          enabled:false
        tip-ip:
          enabled: true
          member-list:
           machineA
           machineB
hazelcast-cluster2.yml:

  hazelcast:
    cluster-name: cluster2
    network:
      join:
        multicast:
          enabled:false
        tip-ip:
          enabled: true
          member-list:
           machineC
           machineD
我想要的是machineA和machineB形成一个集群,而machineC和machineB形成一个单独的集群。然而,当我启动machineC时,它与machinaA和machineB形成了一个集群,尽管我以不同的方式指定了集群名称。如何防止不需要的节点加入群集


您的配置中有一些输入错误:

  • tip-ip
    =>
    tcp-ip
  • 成员列表:
    -地址应以
    -
  • 缩进
    错误
因此,您的配置应该如下所示:

hazelcast:
  cluster-name: cluster1
  network:
    join:
      multicast:
        enabled:false
      tcp-ip:
        enabled: true
        member-list:
        - machineA
        - machineB

这可能会解决你的问题。如果没有,请分享您所有Hazelcast成员的日志(由Neil Stevenson推荐)

您添加的日志显示了两条感兴趣的行。 第1行

第13行

INFO [main] [machineC]:5702 [dev] [4.0.1] Backpressure is disabled
这里
cluster2
dev
是集群名称。第一个是您指定的,但第二个是默认值

您的配置文件
hazelcast-cluster1.yml
未被使用。这就是为什么在machineA、machineB和machineC上有一个
dev
集群的原因


再回到日志中,它应该显示是否试图加载hazelcast-cluster1.yml,这将表明它是否未被找到或以某种方式损坏。

群集名称应该阻止它们加入。你能发布一些日志吗?在日志中,一个名为[dev]的集群形成了,我从来没有在我的配置中指定过,为什么[dev]集群形成了?这是hazelcast设计的一部分吗?我在真实代码中有正确的拼写和缩进。事实上,我已经尝试了kwart在中建议的一切,集群分离功能是否仅在Enterprise Edition中可用?我正在使用Community Edition hazelcast是否可以使用多个配置文件,每个文件都配置了一个群集?我不知道我在machineA和machineB中使用了cluster1.yml,因为cluser1将machineA和machineB列为成员。另一方面,cluster2.yml将machineC和machineD列为集群成员。这就是为什么我不使用cluster1.yml。此外,我不确定是否可以在同一个yaml文件中包含两个集群。
INFO [main] [machineC]:5702 [dev] [4.0.1] Backpressure is disabled