3.6. mod_cluster での Tomcat ワーカーノードの設定
mod_cluster を使用すると、クラスターリングモード以外でのみ動作する Apache HTTP Server Tomcat サービスとして Tomcat ワーカーノードを設定できます。この状況では、負荷分散係数を計算するときに一度に使用できる負荷メトリックは 1 つだけです。
Apache HTTP Server Tomcat ワーカーノードは、mod_cluster 機能のサブセットのみをサポートします。完全な mod_cluster 機能は JBoss EAP で利用できます。
前提条件
手順
Tomcat にリスナーを追加するには、
JWS_HOME/tomcat<VERSION>/conf/server.xmlファイル内の他のListener要素の下に、次のListener要素を追加します。<Listener className="org.jboss.modcluster.container.catalina.standalone.ModClusterListener" advertise="true" stickySession="true" stickySessionForce="false" stickySessionRemove="true" />ワーカーノードに一意の ID を与えるには、
JWS_HOME/tomcat<VERSION>/conf/server.xmlファイルを編集して、jvmRoute属性と値をEngine要素に追加します。<Engine name="Catalina" defaultHost="localhost" jvmRoute="worker01">STATUS MCMPメッセージの頻度を設定するには、org.jboss.modcluster.container.catalina.status-frequencyJava システムプロパティーを変更します。以下に例を示します。
-Dorg.jboss.modcluster.container.catalina.status-frequency=6注記Tomcat ワーカーノードは、現在の負荷ステータスを含むステータスメッセージを Apache HTTP Server バランサーに定期的に送信します。これらのメッセージのデフォルトの頻度は 10 秒です。数百のワーカーノードがある場合、
STATUS MCMPメッセージによって Apache HTTP Server ネットワークのトラフィック輻輳が増える可能性があります。MCMPメッセージ頻度を設定するには、org.jboss.modcluster.container.catalina.status-frequencyJava システムプロパティーを変更します。デフォルトでは、プロパティーは秒単位で指定された値を 10 倍して受け入れます。たとえば、プロパティーを1に設定すると 10 秒になります。前の例では、プロパティーは6に設定されており、これは 60 秒を意味します。オプション: プロキシーサーバーのアドバタイズ用にファイアウォールを設定するには、次のいずれかの手順を実行して、ワーカーノードのファイアウォールで UDP 接続用のポート
23364を開きます。Red Hat Enterprise Linux 7 の場合
firewall-cmd --permanent --zone=public --add-port=23364/udpPowerShell を使用する Microsoft Windows の場合
Start-Process "$psHome\powershell.exe" -Verb Runas -ArgumentList '-command "NetSh Advfirewall firewall add rule name="UDP Port 23364" dir=in action=allow protocol=UDP localport=23364"' Start-Process "$psHome\powershell.exe" -Verb Runas -ArgumentList '-command "NetSh Advfirewall firewall add rule name="UDP Port 23364" dir=out action=allow protocol=UDP localport=23364"'注記プロキシーサーバーが
mod_clusterを使用する場合、プロキシーサーバーは UDP マルチキャストを使用して自身をアドバタイズできます。ほとんどのオペレーティングシステムのファイアウォールは、デフォルトでサーバーアドバタイズメント機能をブロックします。サーバーアドバタイズメントを有効にしてこれらのマルチキャストメッセージを受信するには、前述の例に示すように、ワーカーノードのファイアウォールで UDP 接続用にポート23364を開くことができます。
Red Hat Enterprise Linux 6 はサポートされなくなり、その後ドキュメントから削除されました。