Jboss 7.1.1三个节点的集群

时间:2012-11-14 13:48:35

标签: ubuntu jboss load-balancing

我想创建一个包含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机器连续抛出无法创建netty连接:java.net.SocketTimeOutException。

我已使用以下命令在ubuntu机器中禁用了防火墙

sudo ufw disable

然后重新启动机器。

使群集在Ubuntu机器和其他Windows机器之间无法工作的问题是什么?

1 个答案:

答案 0 :(得分:0)

JBoss AS7使用JGroups进行基础组通信,以发现集群成员和集群。

如果您使用配置文件full-ha运行服务器,则邮件系统也会形成一个群集。 HornetQ是JBoss AS7中的默认消息提供者。但HornetQ不使用Jgroups进行服务器发现。它是完全独立的。 HornetQ使用Netty和默认配置UDP多播来广播服务器连接设置。

因为您正在使用JGroups TCPPing,我认为服务器可能不在同一个UDP组播组中。