重新启动Hazelcast最旧的节点后,它不会加入群集

时间:2019-04-11 16:10:59

标签: java hazelcast

我在机器A上启动了第一台hazelcast嵌入式服务器。该服务器没有为其他任何成员配置ip地址(因为它是第一台要启动的服务器)。
我在机器B上启动了第二个hazelcast嵌入式服务器,并将群集成员配置为A的hazelcast地址。它们都成功地形成了一个集群(让我们说成cluster1)。
现在,我重新启动了机器A的hazelcast(同样,没有提供任何其他成员IP地址,就像在第一种情况下一样)。它不加入现有群集cluster1。
我不确定,这是预期的吗?我的想法是,由于B过去了解A,因此可能会使A心跳,并且当A启动时,将其包括在群集中(或合并)吗?是否可以在此处应用任何设置来实现这一目标?不应该考虑裂脑处理吗? 显然,如果我用B的地址重新启动A,它将形成集群,但我想在这里探索其他解决方案。

谢谢。

            Config config = new Config();
            JoinConfig join = config.getNetworkConfig().getJoin();
            join.getMulticastConfig().setEnabled(false);
            String clusterMember = <>;//"" for A and A's hazelcast address for B.
            if(StringUtils.isNotBlank(clusterMember))
               join.getTcpIpConfig().addMember(clusterMember);
            join.getTcpIpConfig().setEnabled(true);
            server = Hazelcast.newHazelcastInstance(config);    

预期:A应该在重新启动时加入集群。 实际:重新启动时A未加入集群

0 个答案:

没有答案