「Tomcatロードバランシング設定手順」の編集履歴(バックアップ)一覧はこちら
「Tomcatロードバランシング設定手順」(2005/07/28 (木) 12:52:12) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
*Tomcat ロードバランシング設定手順
**環境
以下2台の環境で行った.
Server1
OS:RedHat Linux
Apache:2.0.54
Tomcat:5.5.9
Apache/Tomcat Connector:mod_jk 1.2.14
JDK:j2sdk1.5.0_04
Server2
OS:Windows XP SP1
Tomcat:5.5.9
JDK:j2sdk1.5.0_04
Linux上でApacheを稼動させ,Linux/Windows上で稼動する2台のTomcatにバランシングするように設定.
**設定方法
既にApache/Tomcatがインストールされていることを前提とする.各プロダクトのインストール方法は[[Apache+Tomcatの連携手順]]を参考のこと.
workers.properties
# Worler List
#
worker.list=loadbalancer
#
# First Server Configuration
# Servername:Server1
#
worker.lb1.type=ajp13
worker.lb1.host=localhost
worker.lb1.port=8090
worker.lb1.lbfactor=1
#
# Second Server Configuration
# Servername:Server2
#
worker.lb2.type=ajp13
worker.lb2.host=${server2_ip_address}
worker.lb2.port=8091
worker.lb2.lbfactor=2
#
# Loadbalancer worker
#
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=lb1,lb2
注意したいのが,"worker.list".以前は,ここに使用するworker名を列挙していたのだが,現在はbalancerのworker名のみ記述するように変更になったようだ.
また,workerで使用するホスト名の指定も可能な限りIPアドレスで指定する方が良い.(DNSのlookupを行った場合,レスポンスにかなり影響が出るため.
なお,"localhost"はDNSのlookupを行わないため,問題ない)
httpd.conf
JkMount /servlets-examples/* loadbalancer
JkMount /jsp-examples/* loadbalancer
使用するworkerをloadbalancerのものに変更.
server.xml
Server1,Server2のserver.xmlのJKConnector portの部分をそれぞれ修正し,workers.propertiesの各workerのport番号と一致させる.
Apache/Tomcatを再起動.
ちゃんとバランシングされているかどうかを確認するため,各サーバのコンテンツファイルにマーキングして確認すると良い.
Windows/Linuxでバランシングすると,2:1の割合でWindowsのサーバに振り分けられる...現在解析中.
→どうやら,"lbfactor"の値に応じて振り分けられるみたい.今回はLinux側1,Windows側2と設定していたため,2:1の割合でバランシングされている模様.でも,両方とも同じ値にしてもラウンドロビンでバランシングしてくれない...バグ?もうちょっと調べます.
*Tomcat ロードバランシング設定手順
**環境
以下2台の環境で行った.
Server1
OS:RedHat Linux
Apache:2.0.54
Tomcat:5.5.9
Apache/Tomcat Connector:mod_jk 1.2.14
JDK:j2sdk1.5.0_04
Server2
OS:Windows XP SP1
Tomcat:5.5.9
JDK:j2sdk1.5.0_04
Linux上でApacheを稼動させ,Linux/Windows上で稼動する2台のTomcatにバランシングするように設定.
**設定方法
既にApache/Tomcatがインストールされていることを前提とする.各プロダクトのインストール方法は[[Apache+Tomcatの連携手順]]を参考のこと.
workers.properties
# Worler List
#
worker.list=loadbalancer
#
# First Server Configuration
# Servername:Server1
#
worker.lb1.type=ajp13
worker.lb1.host=localhost
worker.lb1.port=8090
worker.lb1.lbfactor=1
#
# Second Server Configuration
# Servername:Server2
#
worker.lb2.type=ajp13
worker.lb2.host=${server2_ip_address}
worker.lb2.port=8091
worker.lb2.lbfactor=2
#
# Loadbalancer worker
#
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=lb1,lb2
注意したいのが,"worker.list".以前は,ここにロードバランスで使用するworker名を列挙していたのだが,
現在はbalancerのworker名のみ記述するように変更になったようだ.
なお,mod_jk1.2.7以降balanced_workersディレクティブは,balance_workersディレクティブに変更されている.
また,workerで使用するホスト名の指定も可能な限りIPアドレスで指定する方が良い.(DNSのlookupを行った場合,
レスポンスにかなり影響が出る."localhost"はDNSのlookupを行わないため問題ない)
httpd.conf
JkMount /servlets-examples/* loadbalancer
JkMount /jsp-examples/* loadbalancer
使用するworkerをloadbalancerのものに変更.
server.xml
Server1,Server2のserver.xmlのJKConnector portの部分をそれぞれ修正し,workers.propertiesの各workerのport番号と一致させる.
Apache/Tomcatを再起動.
ちゃんとバランシングされているかどうかを確認するため,各サーバのコンテンツファイルにマーキングして確認すると良い.
Windows/Linuxでバランシングすると,2:1の割合でWindowsのサーバに振り分けられる...現在解析中.
→どうやら,"lbfactor"の値に応じて振り分けられるみたい.今回はLinux側1,Windows側2と設定していたため,2:1の割合でバランシングされている模様.
でも,両方とも同じ値にしてもラウンドロビンでバランシングしてくれない...バグ?もうちょっと調べます.
表示オプション
横に並べて表示:
変化行の前後のみ表示: