3.2.8. クラスタリングの変更
3.2.8.1. クラスタリングに対するアプリケーションの変更 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
クラスタリグが有効な状態で JBoss EAP 6 を起動する
JBoss EAP 5.x でクラスタリングを有効にするには、次のようにallプロファイル (またはその派生プロファイル) を使用してサーバーインスタンスを起動する必要がありました。EAP5_HOME/bin/run.sh -c all
$ EAP5_HOME/bin/run.sh -c allCopy to Clipboard Copied! Toggle word wrap Toggle overflow JBoss EAP 6 でクラスタリングを有効にする方法は、サーバーがスタンドアロンであるかまたは管理ドメインで実行されているかによって異なります。管理対象ドメインで実行されているサーバーに対してクラスタリングを有効にする
ドメインコントローラーを使用して起動したサーバーに対してクラスタリングを有効にするには、domain.xmlを更新し、haプロファイルとha-socketsソケットバインディンググループを使用するサーバーグループを指定します。例は次のとおりです。Copy to Clipboard Copied! Toggle word wrap Toggle overflow スタンドアロンサーバーに対してクラスタリングを有効にします。
スタンドアロンサーバーに対してクラスタリングを有効にするには、次のように適切な設定ファイルを使用してサーバーを起動します。EAP_HOME/bin/standalone.sh --server-config=standalone-ha.xml -Djboss.node.name=UNIQUE_NODE_NAME
$ EAP_HOME/bin/standalone.sh --server-config=standalone-ha.xml -Djboss.node.name=UNIQUE_NODE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow
バインドアドレスを指定する
通常、JBoss EAP 5.x では、以下のように-bコマンドライン引数を用いて、クラスタリングに使用するバインドアドレスを指定しました。EAP5_HOME/bin/run.sh -c all -b 192.168.0.2
$ EAP5_HOME/bin/run.sh -c all -b 192.168.0.2Copy to Clipboard Copied! Toggle word wrap Toggle overflow JBoss EAP 6 は、standalone.xml、domain.xml、およびhost.xmlファイルの<interfaces>要素に含まれる IP アドレスおよびインターフェースへソケットをバインドします。JBoss EAP に同梱される標準的な設定には、2 つのインターフェース設定が含まれています。これらのインターフェース設定は、Copy to Clipboard Copied! Toggle word wrap Toggle overflow jboss.bind.address.managementおよびjboss.bind.addressシステムプロパティーの値を使用します。これらのシステムプロパティーが設定されていないと、デフォルトの127.0.0.1が各値に使用されます。また、サーバーの起動時にバインドアドレスをコマンドライン引数として指定でき、JBoss EAP 6 サーバー設定ファイル内に明示的に定義することも可能です。- JBoss EAP スタンドアロンサーバーの起動時に、コマンドラインでバインド引数を指定します。以下の例は、スタンドアロンサーバーでコマンドラインにバインドアドレスを指定する方法を示しています。
EAP_HOME/bin/standalone.sh -Djboss.bind.address=127.0.0.1
EAP_HOME/bin/standalone.sh -Djboss.bind.address=127.0.0.1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記
また、-Djboss.bind.address=127.0.0.1のショートカットである-b引数を使用することもできます。EAP_HOME/bin/standalone.sh -b=127.0.0.1
EAP_HOME/bin/standalone.sh -b=127.0.0.1Copy to Clipboard Copied! Toggle word wrap Toggle overflow JBoss EAP 5 の構文形式もサポートされます。EAP_HOME/bin/standalone.sh -b 127.0.0.1
EAP_HOME/bin/standalone.sh -b 127.0.0.1Copy to Clipboard Copied! Toggle word wrap Toggle overflow -b引数はpublicインターフェースのみを変更することに注意してください。managementインターフェースは対象になりません。 - サーバー設定ファイルにバインドアドレスを指定します。管理対象ドメインで稼働しているサーバーの場合は、
domain/configuration/host.xmlファイルでバインドアドレスを指定します。スタンドアロンサーバーの場合は、standalone-ha.xmlファイルでバインドアドレスを指定します。以下の例では、ha-socketsソケットバインディンググループ内のすべてのソケットに対するデフォルトインターフェースとしてpublicインターフェースが指定されています。Copy to Clipboard Copied! Toggle word wrap Toggle overflow <socket-binding-groups> <socket-binding-group name="ha-sockets" default-interface="public"> <!-- ... --> </socket-binding-group> </socket-binding-groups><socket-binding-groups> <socket-binding-group name="ha-sockets" default-interface="public"> <!-- ... --> </socket-binding-group> </socket-binding-groups>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記
バインドアドレスを設定ファイルのシステムプロパティーとしてではなく、ハードコードされた値として指定する場合は、コマンドライン引数でオーバーライドできません。
jvmRouteが mod_jk と mod_proxy をサポートするよう設定するJBoss EAP 5 では、Web サーバーjvmRouteはserver.xmlファイルのプロパティーを使用して設定されていました。JBoss EAP 6 では、jvmRoute属性は、以下のようにinstance-id属性を使用してサーバー設定ファイルの Web サブシステムで設定されます。上記の {JVM_ROUTE_SERVER} は、jvmRoute サーバー ID で置き換える必要があります。<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" native="false" instance-id="{JVM_ROUTE_SERVER}"><subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" native="false" instance-id="{JVM_ROUTE_SERVER}">Copy to Clipboard Copied! Toggle word wrap Toggle overflow instance-idは、管理コンソールを使用して設定することもできます。マルチキャストアドレスおよびポートを指定する
JBoss EAP 5.x では、 以下のようにコマンドライン引数-uを使用して、クラスター内の通信に使用されるマルチキャストアドレスを指定できました。 同様に、引数-mを使用してクラスター内の通信に使用されるポートを指定できました。EAP5_HOME/bin/run.sh -c all -u 228.11.11.11 -m 45688
$ EAP5_HOME/bin/run.sh -c all -u 228.11.11.11 -m 45688Copy to Clipboard Copied! Toggle word wrap Toggle overflow JBoss EAP 6 では、クラスター内の通信に使用されるマルチキャストアドレスとポートは、以下のように該当する JGroups プロトコルにより参照されたソケットバインディングにより定義されます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow コマンドラインでマルチキャストアドレスおよびポートを指定する場合は、マルチキャストアドレスとポートをシステムプロパティーとして定義し、サーバーを起動するときにこれらのプロパティーをコマンドラインで使用できます。以下の例では、Copy to Clipboard Copied! Toggle word wrap Toggle overflow jboss.mcast.addrは、マルチキャストアドレスの変数名であり、jboss.mcast.portはポートの変数名です。次のコマンドライン引数を使用してサーバーを起動できます。<socket-binding name="jgroups-udp" port="55200" multicast-address="${jboss.mcast.addr:230.0.0.4}" multicast-port="${jboss.mcast.port:45688}"/><socket-binding name="jgroups-udp" port="55200" multicast-address="${jboss.mcast.addr:230.0.0.4}" multicast-port="${jboss.mcast.port:45688}"/>Copy to Clipboard Copied! Toggle word wrap Toggle overflow EAP_HOME/bin/domain.sh -Djboss.mcast.addr=228.11.11.11 -Djboss.mcast.port=45688
$ EAP_HOME/bin/domain.sh -Djboss.mcast.addr=228.11.11.11 -Djboss.mcast.port=45688Copy to Clipboard Copied! Toggle word wrap Toggle overflow 代替のプロトコルスタックを使用する
JBoss EAP 5.x では、jboss.default.jgroups.stackシステムプロパティーを使用してすべてのクラスタリングサービスに使用されるデフォルトのプロトコルスタックを操作できました。EAP5_HOME/bin/run.sh -c all -Djboss.default.jgroups.stack=tcp
$ EAP5_HOME/bin/run.sh -c all -Djboss.default.jgroups.stack=tcpCopy to Clipboard Copied! Toggle word wrap Toggle overflow JBoss EAP 6 では、domain.xmlまたはstandalone-ha.xml内の JGroups サブシステムによってデフォルトのプロトコルスタックが定義されます。<subsystem xmlns="urn:jboss:domain:jgroups:1.0" default-stack="udp"> <stack name="udp"> <!-- ... --> </stack> </subsystem><subsystem xmlns="urn:jboss:domain:jgroups:1.0" default-stack="udp"> <stack name="udp"> <!-- ... --> </stack> </subsystem>Copy to Clipboard Copied! Toggle word wrap Toggle overflow バディーレプリケーション
JBoss EAP 5.x は JBoss Cache のバディーレプリケーションを使用して、クラスターのすべてのインスタンスへのデータレプリケーションを抑制しました。JBoss EAP 6 ではバディーレプリケーションは、Infinispan の分散キャッシュであるDISTモードに置き換えられました。DIST (分散) モードは強力なクラスタリングモードで、サーバーがクラスターに追加されると Infinispan によって線形にスケールします。サーバーが DIST キャッシングモードを使用するよう設定する方法の例は次のとおりです。- コマンドラインを開き、次のように HA または Full プロファイルのいずれかでサーバーを起動します。
EAP_HOME/bin/standalone.sh -c standalone-ha.xml
EAP_HOME/bin/standalone.sh -c standalone-ha.xmlCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 別のコマンドラインを開き、管理 CLI へ接続します。
- Linux の場合は、コマンドラインで以下を入力します。
EAP_HOME/bin/jboss-cli.sh --connect
$ EAP_HOME/bin/jboss-cli.sh --connectCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Windows の場合は、コマンドラインで以下を入力します。
C:\>EAP_HOME\bin\jboss-cli.bat --connect
C:\>EAP_HOME\bin\jboss-cli.bat --connectCopy to Clipboard Copied! Toggle word wrap Toggle overflow
次の応答が表示されるはずです。Connected to standalone controller at localhost:9999
Connected to standalone controller at localhost:9999Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下のコマンドを実行します。
/subsystem=infinispan/cache-container=web/:write-attribute(name=default-cache,value=dist) /subsystem=infinispan/cache-container=web/distributed-cache=dist/:write-attribute(name=owners,value=3) :reload
/subsystem=infinispan/cache-container=web/:write-attribute(name=default-cache,value=dist) /subsystem=infinispan/cache-container=web/distributed-cache=dist/:write-attribute(name=owners,value=3) :reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow 各コマンドの後に、以下の応答が表示されるはずです。"outcome" => "success"
"outcome" => "success"Copy to Clipboard Copied! Toggle word wrap Toggle overflow これらのコマンドは、次のようにstandalone-ha.xmlファイルのinfinispanサブシステムにあるweb<cache-container>設定のdist<distributed-cache>要素を変更します。詳細は、https://access.redhat.com/site/documentation/JBoss_Enterprise_Application_Platform/ にある JBoss EAP 6 向け『開発ガイド』の章「Web アプリケーションのクラスター化」を参照してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow