0

3 つの Jboss AS7 ノードのクラスターを作成したいと考えており、次のシナリオがあります。

私の 3 台のマシンは、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 を実行しています。

構成ファイルは 3 台のマシン (IP を除く) で同一であり、3 つのファイルに加えた変更は次のとおりです。

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はマシンごとに異なります。

2 台の Windows マシン間でクラスターを形成すると、すべてが正常に機能します。2 つのノードを起動すると、(2 つのマシンの) コンソール ログに他のノードへの接続が表示されました。

Ubuntu マシンと 2 つの Windows マシンのいずれかの間にクラスターを形成すると、ubuntu マシンは他のノードに接続せず (コンソール ログには何も表示されません)、Windows マシンは継続的に Failed to create netty connection: java. net.SocketTimeOutException.

次のコマンドを使用して、ubuntu マシンのファイアウォールを無効にしました

sudo ufw disable

その後、マシンを再起動しました。

Ubuntu マシンと他の Windows マシンの間でクラスターが機能しない原因は何ですか?

4

1 に答える 1

0

JBoss AS7 は、基礎となるグループ通信に JGroups を使用して、クラスター メンバーを検出し、クラスターから移動します。

プロファイル full-ha でサーバーを実行している場合、メッセージング システムもクラスターを形成します。HornetQ は、JBoss AS7 のデフォルトのメッセージ プロバイダーです。ただし、HornetQ はサーバー検出に Jgroups を使用しません。完全に独立しています。HornetQ は Netty を使用し、デフォルト設定では UDP マルチキャストを使用してサーバー接続設定をブロードキャストします。

JGroups TCPPing を使用しているため、サーバーが同じ UDP マルチキャスト グループに属していない可能性があります。

于 2012-11-14T19:57:38.093 に答える