gpt4 book ai didi

java - 如果 2 个节点同时启动,则它们看不到对方

转载 作者:行者123 更新时间:2023-11-30 11:27:42 25 4
gpt4 key购买 nike

我试图同时启动 2 个 hazelcast 节点,但它们无法相互发现。对于多播和 tcp-ip 发现都是如此。如果我稍后重新启动一个节点 - 他们会看到对方。有没有办法让他们在不重启的情况下发现对方?或者如何在节点启动时推迟发现?

配置:

    <network>
<port auto-increment="true">5701</port>
<outbound-ports>
<!--
Allowed port range when connecting to other nodes.
0 or * means use system provided port.
-->
<ports>0</ports>
</outbound-ports>
<join>
<multicast enabled="true">
<multicast-group>224.3.3.6</multicast-group>
<multicast-port>5705</multicast-port>
</multicast>
</join>
</network>

        <multicast enabled="false">
<multicast-group>224.3.3.6</multicast-group>
<multicast-port>5705</multicast-port>
</multicast>
<tcp-ip enabled="true">
<member>host1:5701</member>
<member>host2:5701</member>
<member>host3:5701</member>
<member>host4:5701</member>
</tcp-ip>

UPD:通过在集群初始化之前在启动时手动添加随机 sleep 来解决。

最佳答案

您的节点运行时间是否足够长?根据我的经验,节点找到彼此可能需要相当长的时间(30 秒)——与发现通信(多播与 TCPIP)无关。

After several trials and erros, Hazelcast.com and me found quite a simple solution :

config.setProperty("hazelcast.initial.min.cluster.size","2");

在我的实验中,解决方案比等待一段时间更快、更稳定。

关于java - 如果 2 个节点同时启动,则它们看不到对方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19233620/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com