在Hazelcast中,相同vpc实例的多播自动发现不起作用

时间:2014-03-28 11:26:51

标签: java networking amazon-web-services multicast hazelcast

我们已经打开了从5701到5709的TCP端口,并且还打开了54327的UDP端口,其中包括aws控制台中的入站和出站规则。

我们已在两台机器Hazelcast配置中将组播模式设为true,TCP / IP模式为false。

并在iptables中添加了以下行

iptables -A INPUT -m pkttype --pkt-type multicast -j ACCEPT

但两台机器Hazelcast集群成员没有连接。还有其他原因吗?如果此处还有其他遗漏点,请您提供。

2 个答案:

答案 0 :(得分:2)

Amazon EC2网络不支持多播通信。请参阅http://aws.amazon.com/vpc/faqs/

是否可以将Hazelcast配置为仅使用常规TCP或UDP流量实现群集?

答案 1 :(得分:2)

首先尝试使用常规TCP / IP设置,以确保没有其他任何障碍。

一旦有效,请尝试以下(来自Hazelcast书)

如果您没有看到成员加入,则可能是因为多播不可用。原因可能是防火墙;您可以通过禁用防火墙或在防火墙中启用多播来测试这一点[请参阅防火墙部分]。另一个原因可能是它在网络上被禁用或网络不支持它。在* NIX环境中,您可以通过调用ifconfig | grep -i multicast来检查您的网络接口是否支持多播,但并不意味着它可用。 要检查多播是否可用,iperf是一个可用于Windows / * NIX / OSX的有用工具。要使用组播组224.2.2.3测试组播,请在网络中打开一台终端,然后在第一个终端中运行以下命令:

iperf -s -u -B 224.2.2.3 -i 1

iperf -c 224.2.2.3 -u -T 32 -t 3 -i 1

在另一个终端。如果正在传输数据,那么多播正在运行。