TOP設計・移行・活用> JBossのクラスタ設定
JBossクラスタ入門
JBossクラスタ入門

第3回:クラスタの構築(前編)
著者:日本ヒューレット・パッカード  水野 浩典、佐藤 修一
2005/9/29
1   2  3  次のページ

JBossのクラスタ設定

   今回はJBossクラスタを構築するために必要なサーバ側(Apache、JBoss)の設定を行います。設定を行うファイルや配置場所の全体像は図1のようになっています。点線で囲まれた図形は、設定するファイルを表しています。また、吹き出し図形は、本連載で設定方法を説明しているセクションを示しています。今回は赤い吹き出しの部分について解説します。

クラスタ構築の全体図
図1:クラスタ構築の全体図
(画像をクリックすると別ウィンドウに拡大図を表示します)

   なお、「サーバ設定:node2」で設定するファイルや本連載で設定方法を説明しているセクションは、「サーバ設定:node1」のものと同じですので、図中では省略してあります。

   それでは各項目について解説していきます。


ノードの作成

   JBossにはあらかじめサーバコンポーネントや設定ファイル、ライブラリなどをひとまとめにしたサーバ設定と呼ばれるディレクトリが用意されています。JBossクラスタのノードは物理的にこのサーバ設定に対応します。4.0.1RC1をインストールすると、"all"、"default"、"minimal"、"standard"の4つのサーバ設定が/jboss/jboss-4.0.1RC1/serverディレクトリ以下に用意されます。

   "all"サーバ設定には名前の通りすべてのサービスが設定されており、あらかじめクラスタの設定もされています。

   本連載では、"all"サーバ設定をホストappsvr01、appsvr02上でコピーして、それぞれ"node1"、"node2"というサーバ設定を作成します。

$ cd /jboss/jboss-4.0.1RC1/server
$ cp -r all node1

$ cd /jboss/jboss-4.0.1RC1/server
$ cp -r all node2

※注: 本連載では、JBossをホストappsvr01、appsvr02、上の/jboss/jboss-4.0.1RC1ディレクトリにインストールしたものとして説明しています。

EJBコンテナへのロードバランシング設定

   EJBコンテナへのロードバランシングは、EJBのスタブ(home、remote共)によって行われますので、JBossサーバ側でEJBコンテナへのロードバランシングを有効にするような設定はありません。

   ロードバランシングのルールをEJBの配備記述子(jboss.xml)で設定できます。詳細は後ほど、EJBへのロードバランシングで解説します。


EJB(ステートフルセッションbean)のセッションレプリケーション設定

   ステートフルセッションbeanのセッションレプリケーションは、すでに"all"サーバ設定で有効になっていますので、ここでは特に設定作業はありません。


Tomcatのインスタンスに名前を設定する

   次回解説するApacheのmod_jkモジュールがロードバランシングできるように、Tomactのインスタンスに名前を設定します。

   ホストappsvr01、とappsvr02それぞれで、server.xmlファイルのEngine要素にjvmRoute属性を追加します。

ホストappsvr01
vi /jboss/jboss-4.0.1RC1/server/node1/deploy/jbossweb-tomcat50.sar/
server.xml
<Engine name="jboss.web" defaultHost="localhost" jvmRoute="tc1">

ホストappsvr02
vi /jboss/jboss-4.0.1RC1/server/node2/deploy/jbossweb-tomcat50.sar/
server.xml
<Engine name="jboss.web" defaultHost="localhost" jvmRoute="tc2">

   jvmRoute属性に設定したtc1、tc2という値は、後述のworkers.propertiesファイルで設定するworker.<workername>.*キーの<workername>の文字列と同じにする必要があります。

1   2  3  次のページ

資料紹介
本連載で説明しているミドルウェアについての全般的な情報は以下のURLから参照ください。

■JBossアプリケーションサーバ
http://www.jboss.org/products/jbossas

■JBossアプリケーションサーバのフリードキュメント
http://www.jboss.org/docs/index#as

■日本ヒューレットパッカードのJBoss
http://www.hp.com/jp/jboss

■Tomcat
http://jakarta.apache.org/tomcat/index.html

■The Apache Jakarta Tomcat Connector(mod_jk)
http://jakarta.apache.org/tomcat/connectors-doc/

■MySQL
http://www.mysql.com/
日本ヒューレット・パッカード株式会社 水野 浩典
著者プロフィール
日本ヒューレット・パッカード株式会社
水野 浩典

1991年、同社入社以来、エンタープライズ環境でHP-UXを使用しているお客様のサポートの仕事に従事。その後、IA-64(Itanium)とPA-RISCのダイナミックトランスレータの開発経験を経て、Java、J2EEベースのベンチマークや障害解析、コンサルティングを経験。現在は、オープンソースのコンサルティングやサポートを行っている。8bitのバイト列やアセンブラコードを見て、解析することを何よりの楽しみ(?)にしています。


日本ヒューレット・パッカード株式会社 佐藤 修一
著者プロフィール
日本ヒューレット・パッカード株式会社
佐藤 修一

2000年より自社J2EEサーバの開発/国際化/テストに従事。以来、商用/オープンソース問わずJ2EEベースのシステム構築、ベンチマーク等を担当。現在は主にオープンソースのJ2EEサーバである「JBoss AS」を含めた「JEMS製品」や、同じくオープンソースのRDBMS「MySQL」のコンサルティングやサポートを精力的に行いながら、毎日、ソースコードと戯れています。


INDEX
第3回:クラスタの構築(前編)
JBossのクラスタ設定
  JBossクラスタの起動確認
  EJBへのロードバランシング