24.2.4. TCPGOSSIP の設定
この手順は、TCPGOSSIP
プロトコルを使用する新しい JGroups スタックを作成し、外部ゴシップルーターを使用してクラスターのメンバーを検索します。ベーススクリプトは、tcpgossip
スタックを作成し、この新しいスタックを使用するようデフォルトの ee
チャネルを設定します。このスクリプトの管理 CLI コマンドは環境に合わせてカスタマイズする必要があり、バッチで処理されます。
以下のスクリプトをテキストエディターにコピーし、ローカルファイルシステムに保存します。
# Define the socket bindings /socket-binding-group=standard-sockets/remote-destination-outbound-socket-binding=jgroups-host-a:add(host=HOST_A,port=13001) batch # Add the tcpgossip stack /subsystem=jgroups/stack=tcpgossip:add /subsystem=jgroups/stack=tcpgossip/transport=TCP:add(socket-binding=jgroups-tcp) /subsystem=jgroups/stack=tcpgossip/protocol=TCPGOSSIP:add(socket-bindings=[jgroups-host-a]) /subsystem=jgroups/stack=tcpgossip/protocol=MERGE3:add /subsystem=jgroups/stack=tcpgossip/protocol=FD_SOCK:add /subsystem=jgroups/stack=tcpgossip/protocol=FD_ALL:add /subsystem=jgroups/stack=tcpgossip/protocol=VERIFY_SUSPECT:add /subsystem=jgroups/stack=tcpgossip/protocol=pbcast.NAKACK2:add /subsystem=jgroups/stack=tcpgossip/protocol=UNICAST3:add /subsystem=jgroups/stack=tcpgossip/protocol=pbcast.STABLE:add /subsystem=jgroups/stack=tcpgossip/protocol=pbcast.GMS:add /subsystem=jgroups/stack=tcpgossip/protocol=MFC:add /subsystem=jgroups/stack=tcpgossip/protocol=FRAG3:add # Set tcpgossip as the stack for the ee channel /subsystem=jgroups/channel=ee:write-attribute(name=stack,value=tcpgossip) run-batch reload
定義されたプロトコルの順番が重要になることに注意してください。また、
add-index
の値をadd
コマンドに渡すと、特定のインデックスでプロトコルを挿入できます。インデックスはゼロベースであるため、以下の管理 CLI コマンドはUNICAST3
プロトコルを 7 つ目のプロトコルとして追加します。/subsystem=jgroups/stack=tcpgossip/protocol=UNICAST3:add(add-index=6)
環境に合わせてスクリプトを変更します。
-
管理対象ドメインで実行している場合は、
/subsystem=jgroups
コマンドの前に/profile=PROFILE_NAME
を追加し、更新するプロファイルを指定する必要があります。 以下のプロパティーを環境に合わせて調整します。
-
socket-bindings
: ウェルノウンとして見なされ、最初のメンバーシップの検索に利用できるホストとポートの組み合わせのコンマ区切りリスト。ソケットバインディングの定義に関する詳細は、ソケットバインディングの設定 を参照してください -
initial_hosts
: ウェルノウンとして見なされ、最初のメンバーシップの検索に使用できるHOST[PORT]
という構文を使用したホストとポートの組み合わせのコンマ区切りリスト (例:host1[1000],host2[2000]
)。 -
port_range
: このプロパティーは、initial_hosts
ポート範囲を指定した値の分拡張するために使用されます。たとえば、initial_hosts
をhost1[1000],host2[2000]
に設定し、port_range
を1
に設定した場合initial_hosts
設定はhost1[1000],host1[1001],host2[2000],host2[2001]
に拡張されます。このプロパティーはinitial_hosts
プロパティーと併用した場合のみ有効です。 -
reconnect_interval
: 接続が切断されたスタブがゴシップルーターへの再接続を試みる間隔 (ミリ秒単位)。 -
sock_conn_timeout
: ソケット作成の最大時間。デフォルトは1000
ミリ秒です。 -
sock_read_timeout
: 読み取りがブロックされる最大時間 (ミリ秒単位)。0
を値として指定すると無制限にブロックされます。
-
-
管理対象ドメインで実行している場合は、
スクリプトファイルを管理 CLI に渡してスクリプトを実行します。
$ EAP_HOME/bin/jboss-cli.sh --connect --file=/path/to/SCRIPT_NAME
TCPGOSSIP スタックが使用できるようになり、ネットワークの通信に TCP が使用されます。このスタックはゴシップルーターと使用するように設定されるため、JGroups メンバーは他のクラスターメンバーを見つけることができます。