これまでの章では、構成について紹介し、構成をノードに配備する方法を説明しました。この章では、単純なサーバーファームとクラスタを設定します。
クラスタとは、一連のインスタンスが 1 つ以上のノードをまたがって存在し、そのすべてが同一の構成を実行し、同一の実行時サービスセットを提供する場合の、その一連のインスタンスのことです。各クラスタには、管理サーバーとして指定されたサーバーが 1 つ含まれている必要があります。クラスタが複数存在する場合、そのすべてのクラスタを単一のマスター管理サーバーから管理することができます。マスター管理サーバーは、すべてのクラスタに関する情報を取得し、各クラスタにインストールされた Sun Java System Web Server を管理するためのインタフェースを提供します。
クラスタ内のすべてのインスタンスは同種である必要があります。たとえば、それらは同じバージョンのオペレーティングシステム (とパッチ) およびサービスパック上で稼働し、同じ Web サーバー構成を実行し、同じサービスを提供します。
クラスタを設定するには、まず 1 つの管理サーバーと 1 つ以上の管理ノードをインストールする必要があります。管理ノードを管理するには、各管理ノードを個別に管理サーバーに登録する必要があります。このアクションは、ノードのインストール中に行うことも、インストール後に wadm CLI 経由で行うこともできます。
管理サーバーと管理ノードのインストール
管理サーバーをインストールします。管理サーバーのインストールは、Sun Java System Web Server インストーラ GUI または wadm CLI を使って行えます。
「高速インストール」オプションを選択できます。このオプションを選択した場合、管理サーバーがポート 8989 上にインストールされます。あるいは、カスタムインストールオプションを選択してユーザー独自の設定を行います。管理サーバーをインストールするには、インストーラの設定画面でオプション「 サーバーを管理サーバーとしてインストール」を選択します。SSL ポートは指定する必要がありますが、非 SSL ポートは指定してもしなくてもかまいません。
非 SSL ポートを指定すると管理サーバーノード内に管理ノードが作成されますが、その管理ノードを管理サーバーに明示的に登録する必要はありません。
管理ノードをインストールするには、「カスタムインストール」を選択したあと、「サーバーを管理ノードとしてインストール」を選択します。インストール用のポートを指定します。非 SSL ポートを選択するオプションは用意されていません。なぜなら、管理サーバーと管理ノード間の通信では常に、セキュリティー保護されたチャネルが使用されるからです。インストール中に、そのノードを管理サーバーに登録する必要があるか尋ねられます。インストール中にノードを登録しないことを選択した場合、wadm CLI を使えばそのアクションを実行できます。
高速インストール経由で管理ノードをインストールすることはできません。
管理ノードを管理サーバーに登録します
管理ノードがクラスタやサーバーファームの一部となるには、それらの管理ノードを管理サーバーに登録する必要があります。管理ノードを管理サーバーに登録しないかぎり、それらの管理ノードが起動されることはありません。管理ノードを登録するには、wadm CLI 経由で次のコマンドを実行します。
wadm> register-node --user <admin-user> --port <SSL Port> --host <node name> |
このポートは、管理サーバーのインストール時に指定されたポートです。ホストは、管理サーバーがインストールされているノードのホスト名です。
このアクションによって、管理サーバーにノードが登録されます。
ノードの登録はそのノードからしか行えません。管理サーバーの CLI にアクセスして任意のノードを登録する、といったことは行えません。また、管理サーバーへのノードの登録は、SSL モードでしか行えません。
作成されたクラスタのセッションレプリケーションを設定する方法については、「セッションレプリケーションの構成」を参照してください。
この例の一部として、1 つのロードバランサ、1 つの管理サーバー、および 4 つの Web サーバーインスタンスを持ち、セッションレプリケーションが有効化されたクラスタを設定します。セッションレプリケーションは、Java Web アプリケーションのセッションに対して高い可用性を提供します。それは、メモリー内に常駐している、ある Web サーバーインスタンスのセッションのコピーを、別の Web サーバーインスタンスにコピーすることによって実現されます。このため、通常の動作条件下では、各セッションのコピーが少なくとも 2 つ存在し、それぞれが個別の JVM 内に、そして理想的には個別のマシン上に存在することになります。
次の図は、単純なクラスタを示したものです。
次の各マシンを特定します。
MachineA — ロードバランサと管理サーバーの両方が存在します。
MachineB、MachineC、MachineD、および MachineE — 管理ノードと Web サーバーインスタンスが稼働します。
管理サーバーを MachineA にインストールします。
管理サーバーのインストール方法については、「サーバーファームを設定する」を参照してください。典型的なインストール処理では、Web サーバーインスタンスのインストールも行われます。このシナリオでは、そのインスタンスは使用しません。
管理ノードを MachineB、MachineC、MachineD、および MachineE にインストールします。
管理ノードを 4 台のマシンすべてにインストールします。管理ノードを管理サーバーに登録します。
Web アプリケーションを構成します。
Web アプリケーションのセッションレプリケーションを有効にします。WEb-INF/sun-web.xml ファイルを次のように変更します。
<session-manager persistence-type="replicated"/> |
インスタンスを構成します。
wadm を起動します。
wadm --host MachineA --port 8089 |
ロードバランサ用に新しい構成を作成します。
wadm> create-config --http-port=8080 --server-name=SampleCluster lb |
逆プロキシ (ロードバランサ) を設定します。
wadm> create-reverse-proxy --config=lb --vs=lb -uri-prefix=/ --server="http://MachineB:8080,http://MachineC:8080, ttp://MachineD:8080,http://MachineE:8080" |
インスタンスを作成します。
wadm> create-instance --config=lb MachineA |
構成を配備します。
wadm> deploy-config lb wadm> start-instance --config=lb |
クラスタを作成して起動します。
4 つのインスタンスを持つ新しい構成を作成します。
クラスタ用に新しい構成を作成します。
wadm> create-config --http-port=8080 --server-name=SampleCluster clusterOf4 |
セッションレプリケーションを有効にします。
wadm> set-session-replication-prop --config=clusterOf4 enabled=true |
Web アプリケーションを追加します。
wadm> add-webapp --config=clusterOf4 --uri=/simple webapps-simple.war |
インスタンスを作成します。
wadm> create-instance --config=clusterOf4 MachineB MachineC MachineD MachineE |
クラスタを起動します。
wadm> start-instance --config=clusterOf4 |
start-instance コマンドでホスト名を指定しなかった場合、このアクションによって、この構成が配備されているすべてのノードのインスタンスが起動されます。