30.6. コロケートバックアップサーバー
JBoss EAP では、バックアップメッセージングサーバーを、別のライブサーバーと同じ JVM にコロケートすることもできます。たとえば、各ライブサーバーが他のバックアップをコロケートするスタンドアロンサーバーの単純な 2 ノードクラスターの例を考えましょう。このようにサーバーをコロケートする場合、共有ストアまたは複製された HA ポリシーのいずれかを使用できます。コロケートするようにメッセージングサーバーを設定する際に覚えておくべき 2 つの重要なことがあります。
第 1 に、設定の各 server 要素には、独自の remote-connector および remote-acceptor、または http-connector および http-acceptor が必要です。たとえば、remote-acceptor を使用するライブサーバーは、ポート 5445 でリッスンするよう設定できますが、コロケートされたバックアップからの remote-acceptor はポート 5446 を使用します。ポートは、デフォルトの socket-binding-group に追加する必要がある socket-binding 要素に定義します。http-acceptors の場合、ライブおよびコロケートバックアップは、同じ http-listener を共有できます。各 server 設定のクラスター関連の設定要素は、サーバーによって使用される remote-connector または http-connector を使用します。関連する設定が、後述の各例に含まれています。
第 2 に、ジャーナル関連のディレクトリーのパスを適切に設定する点に注意します。たとえば、共有ストアのコロケートトポロジーでは、ライブサーバーとそのバックアップの両方が、別のライブサーバーにコロケーションされ、バインディング と メッセージ ジャーナル用、大きいメッセージ 用、ページング 用にディレクトリーの場所を共有するように設定する必要があります。
30.6.1. コロケート HA トポロジーの手動作成の設定 リンクのコピーリンクがクリップボードにコピーされました!
以下の手順で使用する管理 CLI コマンドの例は、コロケートトポロジーを使用する単純な 2 ノードクラスターを設定する方法を示しています。この例では、2 ノードのコロケートクラスターを設定します。ライブサーバーとバックアップサーバーは各ノードに存在します。ノード 1 のコロケートバックアップは、ノード 2 のコロケートされたライブサーバーとペアになり、ノード 2 のバックアップサーバーはノード 1 のライブサーバーとペアになります。共有ストアとデータレプリケーション HA ポリシーの両方の例が含まれます。
以下の例は、full-ha 設定プロファイルを使用して JBoss EAP を実行していることを前提としています。
各インスタンスのデフォルトのサーバーを HA ポリシーを使用するように変更します。各ノードのデフォルトサーバーはライブサーバーになります。従う手順は、共有ストアポリシーまたはデータレプリケーションポリシーを設定したかどうかによって異なります。
共有ストアポリシーの説明: 以下の管理 CLI コマンドを使用して、推奨 HA ポリシーを追加します。
/subsystem=messaging-activemq/server=default/ha-policy=shared-store-master:add
/subsystem=messaging-activemq/server=default/ha-policy=shared-store-master:addCopy to Clipboard Copied! Toggle word wrap Toggle overflow データレプリケーションポリシーの説明: 各ノードのデフォルトサーバーは、一意の
group-nameを使用して設定する必要があります。以下の例では、1 番目のコマンドが ノード 1 で実行され、2 番目がノード 2 で実行されます。/subsystem=messaging-activemq/server=default/ha-policy=replication-master:add(cluster-name=my-cluster,group-name=group1,check-for-live-server=true) /subsystem=messaging-activemq/server=default/ha-policy=replication-master:add(cluster-name=my-cluster,group-name=group2,check-for-live-server=true)
/subsystem=messaging-activemq/server=default/ha-policy=replication-master:add(cluster-name=my-cluster,group-name=group1,check-for-live-server=true) /subsystem=messaging-activemq/server=default/ha-policy=replication-master:add(cluster-name=my-cluster,group-name=group2,check-for-live-server=true)Copy to Clipboard Copied! Toggle word wrap Toggle overflow
新しいバックアップサーバーを各ライブサーバーとコロケートします。
JBoss EAP の各インスタンスに新しいサーバーを追加して、デフォルトのライブサーバーとコロケートします。新しいサーバーは、他のノードでデフォルトのサーバーをバックアップします。以下の管理 CLI コマンドを使用して、
backupという名前の新しいサーバーを作成します。/subsystem=messaging-activemq/server=backup:add
/subsystem=messaging-activemq/server=backup:addCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次に、推奨 HA ポリシーを使用するように新しいサーバーを設定します。従う手順は、共有ストアポリシーまたはデータレプリケーションポリシーを設定したかどうかによって異なります。
共有ストアポリシーの説明: 以下の管理 CLI コマンドを使用して HA ポリシーを追加します。
/subsystem=messaging-activemq/server=backup/ha-policy=shared-store-slave:add
/subsystem=messaging-activemq/server=backup/ha-policy=shared-store-slave:addCopy to Clipboard Copied! Toggle word wrap Toggle overflow データレプリケーションポリシーの説明: 他のノード上のライブサーバーの
group-nameを使用するようにバックアップサーバーを設定します。以下の例では、1 番目のコマンドがノード 1 で実行され、2 番目のコマンドがノード 2 で実行されます。/subsystem=messaging-activemq/server=backup/ha-policy=replication-slave:add(cluster-name=my-cluster,group-name=group2) /subsystem=messaging-activemq/server=backup/ha-policy=replication-slave:add(cluster-name=my-cluster,group-name=group1)
/subsystem=messaging-activemq/server=backup/ha-policy=replication-slave:add(cluster-name=my-cluster,group-name=group2) /subsystem=messaging-activemq/server=backup/ha-policy=replication-slave:add(cluster-name=my-cluster,group-name=group1)Copy to Clipboard Copied! Toggle word wrap Toggle overflow
すべてのサーバーに対してディレクトリーの場所を設定します。
サーバーが HA 用に設定されたら、バインディング ジャーナル、メッセージ ジャーナル、大きいメッセージ のディレクトリーの場所を設定する必要があります。ページングを使用する計画がある場合は、ページング のディレクトリーも設定する必要があります。従う手順は、共有ストアポリシーまたはデータレプリケーションポリシーを設定したかどうかによって異なります。
共有ストアポリシーの説明: ノード 1 のライブサーバーの
path値は、ノード 2 のバックアップサーバーとしてサポート対象のファイルシステムと同じ場所を指す必要があります。ノード 2 のライブサーバーとノード 1 のバックアップでも同様です。以下の管理 CLI コマンドを使用して、ノード 1 のディレクトリーの場所を設定します。
/subsystem=messaging-activemq/server=default/path=bindings-directory:write-attribute(name=path,value=/PATH/TO/shared/bindings-A) /subsystem=messaging-activemq/server=default/path=journal-directory:write-attribute(name=path,value=/PATH/TO/shared/journal-A) /subsystem=messaging-activemq/server=default/path=large-messages-directory:write-attribute(name=path,value=/PATH/TO/shared/largemessages-A) /subsystem=messaging-activemq/server=default/path=paging-directory:write-attribute(name=path,value=/PATH/TO/shared/paging-A) /subsystem=messaging-activemq/server=backup/path=bindings-directory:write-attribute(name=path,value=/PATH/TO/shared/bindings-B) /subsystem=messaging-activemq/server=backup/path=journal-directory:write-attribute(name=path,value=/PATH/TO/shared/journal-B) /subsystem=messaging-activemq/server=backup/path=large-messages-directory:write-attribute(name=path,value=/PATH/TO/shared/largemessages-B) /subsystem=messaging-activemq/server=backup/path=paging-directory:write-attribute(name=path,value=/PATH/TO/shared/paging-B)
/subsystem=messaging-activemq/server=default/path=bindings-directory:write-attribute(name=path,value=/PATH/TO/shared/bindings-A) /subsystem=messaging-activemq/server=default/path=journal-directory:write-attribute(name=path,value=/PATH/TO/shared/journal-A) /subsystem=messaging-activemq/server=default/path=large-messages-directory:write-attribute(name=path,value=/PATH/TO/shared/largemessages-A) /subsystem=messaging-activemq/server=default/path=paging-directory:write-attribute(name=path,value=/PATH/TO/shared/paging-A) /subsystem=messaging-activemq/server=backup/path=bindings-directory:write-attribute(name=path,value=/PATH/TO/shared/bindings-B) /subsystem=messaging-activemq/server=backup/path=journal-directory:write-attribute(name=path,value=/PATH/TO/shared/journal-B) /subsystem=messaging-activemq/server=backup/path=large-messages-directory:write-attribute(name=path,value=/PATH/TO/shared/largemessages-B) /subsystem=messaging-activemq/server=backup/path=paging-directory:write-attribute(name=path,value=/PATH/TO/shared/paging-B)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の管理 CLI コマンドを使用して、ノード 2 のディレクトリーの場所を設定します。
/subsystem=messaging-activemq/server=default/path=bindings-directory:write-attribute(name=path,value=/PATH/TO/shared/bindings-B) /subsystem=messaging-activemq/server=default/path=journal-directory:write-attribute(name=path,value=/PATH/TO/shared/journal-B) /subsystem=messaging-activemq/server=default/path=large-messages-directory:write-attribute(name=path,value=/PATH/TO/shared/largemessages-B) /subsystem=messaging-activemq/server=default/path=paging-directory:write-attribute(name=path,value=/PATH/TO/shared/paging-B) /subsystem=messaging-activemq/server=backup/path=bindings-directory:write-attribute(name=path,value=/PATH/TO/shared/bindings-A) /subsystem=messaging-activemq/server=backup/path=journal-directory:write-attribute(name=path,value=/PATH/TO/shared/journal-A) /subsystem=messaging-activemq/server=backup/path=large-messages-directory:write-attribute(name=path,value=/PATH/TO/shared/largemessages-A) /subsystem=messaging-activemq/server=backup/path=paging-directory:write-attribute(name=path,value=/PATH/TO/shared/paging-A)
/subsystem=messaging-activemq/server=default/path=bindings-directory:write-attribute(name=path,value=/PATH/TO/shared/bindings-B) /subsystem=messaging-activemq/server=default/path=journal-directory:write-attribute(name=path,value=/PATH/TO/shared/journal-B) /subsystem=messaging-activemq/server=default/path=large-messages-directory:write-attribute(name=path,value=/PATH/TO/shared/largemessages-B) /subsystem=messaging-activemq/server=default/path=paging-directory:write-attribute(name=path,value=/PATH/TO/shared/paging-B) /subsystem=messaging-activemq/server=backup/path=bindings-directory:write-attribute(name=path,value=/PATH/TO/shared/bindings-A) /subsystem=messaging-activemq/server=backup/path=journal-directory:write-attribute(name=path,value=/PATH/TO/shared/journal-A) /subsystem=messaging-activemq/server=backup/path=large-messages-directory:write-attribute(name=path,value=/PATH/TO/shared/largemessages-A) /subsystem=messaging-activemq/server=backup/path=paging-directory:write-attribute(name=path,value=/PATH/TO/shared/paging-A)Copy to Clipboard Copied! Toggle word wrap Toggle overflow
データレプリケーションポリシーの説明: 各サーバーは独自のディレクトリーを使用し、他のサーバーとは共有しません。以下のコマンド例では、
pathの場所の各値は、ファイルシステム上の一意の場所であると仮定します。ライブサーバーでは、デフォルトの場所を使用するため、ディレクトリーの場所を変更する必要はありません。ただし、バックアップサーバーは、依然として一意の場所で設定する必要があります。以下の管理 CLI コマンドを使用して、ノード 1 のディレクトリーの場所を設定します。
/subsystem=messaging-activemq/server=backup/path=bindings-directory:write-attribute(name=path,value=activemq/bindings-B) /subsystem=messaging-activemq/server=backup/path=journal-directory:write-attribute(name=path,value=activemq/journal-B) /subsystem=messaging-activemq/server=backup/path=large-messages-directory:write-attribute(name=path,value=activemq/largemessages-B) /subsystem=messaging-activemq/server=backup/path=paging-directory:write-attribute(name=path,value=activemq/paging-B)
/subsystem=messaging-activemq/server=backup/path=bindings-directory:write-attribute(name=path,value=activemq/bindings-B) /subsystem=messaging-activemq/server=backup/path=journal-directory:write-attribute(name=path,value=activemq/journal-B) /subsystem=messaging-activemq/server=backup/path=large-messages-directory:write-attribute(name=path,value=activemq/largemessages-B) /subsystem=messaging-activemq/server=backup/path=paging-directory:write-attribute(name=path,value=activemq/paging-B)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の管理 CLI コマンドを使用して、ノード 2 のディレクトリーの場所を設定します。
/subsystem=messaging-activemq/server=backup/path=bindings-directory:write-attribute(name=path,value=activemq/bindings-B) /subsystem=messaging-activemq/server=backup/path=journal-directory:write-attribute(name=path,value=activemq/journal-B) /subsystem=messaging-activemq/server=backup/path=large-messages-directory:write-attribute(name=path,value=activemq/largemessages-B) /subsystem=messaging-activemq/server=backup/path=paging-directory:write-attribute(name=path,value=activemq/paging-B)
/subsystem=messaging-activemq/server=backup/path=bindings-directory:write-attribute(name=path,value=activemq/bindings-B) /subsystem=messaging-activemq/server=backup/path=journal-directory:write-attribute(name=path,value=activemq/journal-B) /subsystem=messaging-activemq/server=backup/path=large-messages-directory:write-attribute(name=path,value=activemq/largemessages-B) /subsystem=messaging-activemq/server=backup/path=paging-directory:write-attribute(name=path,value=activemq/paging-B)Copy to Clipboard Copied! Toggle word wrap Toggle overflow
新しいアクセプターおよびコネクターをバックアップサーバーに追加します。
各バックアップサーバーは、
http-connectorと、デフォルトのhttp-listenerを使用するhttp-acceptorを使用して設定する必要があります。これにより、サーバーが HTTP ポート経由で通信を送受信できるようになります。以下の例は、http-acceptorとhttp-connectorをバックアップサーバーに追加します。/subsystem=messaging-activemq/server=backup/http-acceptor=http-acceptor:add(http-listener=default) /subsystem=messaging-activemq/server=backup/http-connector=http-connector:add(endpoint=http-acceptor,socket-binding=http)
/subsystem=messaging-activemq/server=backup/http-acceptor=http-acceptor:add(http-listener=default) /subsystem=messaging-activemq/server=backup/http-connector=http-connector:add(endpoint=http-acceptor,socket-binding=http)Copy to Clipboard Copied! Toggle word wrap Toggle overflow バックアップサーバーの
cluster-connectionを設定します。各メッセージングサーバーは、適切な通信に
cluster-connection、broadcast-group、およびdiscovery-groupが必要です。以下の管理 CLI コマンドを使用して、これらの要素を設定します。/subsystem=messaging-activemq/server=backup/broadcast-group=bg-group1:add(connectors=[http-connector],jgroups-cluster=activemq-cluster) /subsystem=messaging-activemq/server=backup/discovery-group=dg-group1:add(jgroups-cluster=activemq-cluster) /subsystem=messaging-activemq/server=backup/cluster-connection=my-cluster:add(connector-name=http-connector,cluster-connection-address=jms,discovery-group=dg-group1)
/subsystem=messaging-activemq/server=backup/broadcast-group=bg-group1:add(connectors=[http-connector],jgroups-cluster=activemq-cluster) /subsystem=messaging-activemq/server=backup/discovery-group=dg-group1:add(jgroups-cluster=activemq-cluster) /subsystem=messaging-activemq/server=backup/cluster-connection=my-cluster:add(connector-name=http-connector,cluster-connection-address=jms,discovery-group=dg-group1)Copy to Clipboard Copied! Toggle word wrap Toggle overflow
これで、コロケートサーバー設定が完了しました。