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



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

我们已经在两台机器的Hazelcast配置中启用了多播模式为真,TCP/IP模式为假。

还在iptables

中添加了以下行
iptables -A INPUT -m pkttype --pkt-type multicast -j ACCEPT

但是两台机器没有连接Hazelcast集群成员。还有其他原因吗?能否提供一下这里是否还有遗漏的地方

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

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

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

一旦工作,尝试以下(来自Hazelcast书)

如果您没有看到成员加入,那么很可能是因为组播不可用。原因可以是防火墙;您可以通过禁用防火墙或在防火墙中启用多播来测试这一点[参见防火墙部分]。另一个原因可能是它在网络上被禁用或网络不支持它。在*NIX环境中,您可以通过调用ifconfig | grep -i multicast来检查您的网络接口是否支持多播,但这并不意味着它是可用的。为了检查组播是否可用,iperf是一个有用的工具,可用于Windows/*NIX/OSX。要使用multicast-group 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

在另一个终端。

如果数据正在传输,则组播正在工作。

最新更新