我们已经打开了从5701到5709的TCP端口,并且还打开了54327的UDP端口,其中包括aws控制台中的入站和出站规则。
我们已在两台机器Hazelcast配置中将组播模式设为true,TCP / IP模式为false。
并在iptables中添加了以下行
iptables -A INPUT -m pkttype --pkt-type multicast -j ACCEPT
但两台机器Hazelcast集群成员没有连接。还有其他原因吗?如果此处还有其他遗漏点,请您提供。
答案 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
在另一个终端。如果正在传输数据,那么多播正在运行。