hazelcast 不与其他 ip 集群

hazelcast is not clustered with other ip

我将我的 hazelcast 从 2.x 升级到 3.3.3,但是当我在不同的 IP 启动 2 个服务器时,它没有集群。

但是当我使用 2.x 时它起作用了。它应该像这样在控制台打印:

Members [1] {
        Member [172.29.110.114]:5701 this
}

我尝试使用

**Hazelcast.newHazelcastInstance()**

**Hazelcast.newHazelcastInstance(config)**

获取用于获取地图和其他分布式对象的HazelcastInstance。当我使用第二个时,将配置作为参数,可以打印上面的消息,但无法显示其他 IP 的节点。当我使用第一个没有配置作为参数的时候,我什至在控制台中看不到上面的消息。

有人知道这里发生了什么吗?非常感谢。

您需要在 hazelcast 配置中启用多播。以下是如何使用 xml 配置(即 hazelcast.xml)启用它:

<hazelcast xsi:schemaLocation="http://www.hazelcast.com/schema/config http://www.hazelcast.com/schema/config/hazelcast-config-3.0.xsd" xmlns=" http://www.hazelcast.com/schema/config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<network>
    <join><multicast enabled="true"/></join>
<network>
</hazelcast>

然后以这种方式创建您的配置(hazelcast.xml 应该在类路径中):

Config config = new ClasspathXmlConfig("hazelcast.xml")

我终于知道是怎么回事了。都是因为防火墙。在我关闭后,它可以工作。只是分享我的经验。也感谢 Arbi 的帮助。