我想创建一个由 3 个 Jboss AS7 节点组成的集群并具有以下场景。
我的三台机器是 1- Windows Server 2003 机器(IP:193.16.1.146) 2- Window 7 机器(IP:193.16.1.67) 3- Ubuntu Linux 机器(IP:193.16.1.68)
我正在使用standalon-full-ha.xml 配置文件来运行Jboss。
三台机器上的配置文件相同(IP除外),这是我对这三个文件所做的更改
1- jgroup 子系统
<subsystem xmlns="urn:jboss:domain:jgroups:1.1" ***default-stack="tcp"***>
<stack name="udp">
.........
</stack>
<stack name="tcp">
<transport type="TCP" socket-binding="jgroups-tcp" diagnostics-socket-binding="jgroups-diagnostics"/>
<protocol type="TCPPING">
<property name="initial_hosts">193.16.1.146[7600],193.16.1.68[7600],193.16.1.67[7600]</property>
<property name="num_initial_members">3</property>
<property name="port_range">0</property>
<property name="timeout">2000</property>
</protocol>
.......
</stack>
</subsystem>
2- 接口
<interfaces>
<interface name="management">
<inet-address value="${jboss.bind.address.management:193.16.1.68}"/>
</interface>
<interface name="public">
<inet-address value="${jboss.bind.address:193.16.1.68}"/>
</interface>
<interface name="unsecure">
<inet-address value="${jboss.bind.address.unsecure:193.16.1.68}"/>
</interface>
</interfaces>
当然,IP会因机器而异。
现在,当我在两台 Windows 机器之间形成一个集群时,一切正常。当我启动两个节点时,我可以在控制台日志中(在两台机器中)看到与另一个节点的连接。
当我在 Ubuntu 机器和两台 windows 机器中的任何一台之间形成集群时,ubuntu 机器没有连接到另一个节点(它的控制台日志中没有出现任何内容)并且 windows 机器不断抛出 Failed to create netty connection: java.lang. net.SocketTimeOutException。
我使用以下命令禁用了 ubuntu 机器中的防火墙
sudo ufw disable
然后重新启动机器。
导致集群无法在 Ubuntu 机器和其他 Windows 机器之间工作的问题是什么?