クラスター構成、つまり高可用性構成に対応するために、複数のサーバーをセットアップすることができます。この構成では、複数のサーバーが同時に稼働します。
始める前に
ロード・バランサーをインストールします。このロード・バランサーは、クラスター内のサーバーに要求を分散します。
このタスクについて
クラスター構成のサーバーをセットアップするには、サーバーを別々のシステムにインストールし、それらのサーバーを同じデータベースに接続します。次に、サーバー間でトラフィックを分散するよう、ロード・バランサーを構成します。ユーザーは、サーバーに直接アクセスする代わりに、ロード・バランサー URL にアクセスします。ユーザーには、その URL は大容量のサーバーの単一インスタンスをホストしているように見えます。ユーザーは複数のサーバーを気にする必要はありません。
手順
- データベースを通常どおりにインストールし、構成します。 既にデータベースがある場合は、それをクラスター・サーバーで使用できます。データベースのインストールを参照してください。
- 既に 1 つ以上のサーバーがある場合は、以下の手順に従ってそれらをクラスター・サーバーに変換します。
- サーバーを停止します。
- サーバーで、ファイル install_folder/ucrelease/conf/server.properties をテキスト・エディターで開きます。 install_folder のサーバー・インストール・ディレクトリーを使用します。
- このファイル内の public.url パラメーターを、ロード・バランサーの URL とポートに変更します。 以下の例に従って、コロンおよび特殊文字は円記号 (¥) でエスケープします。
public.url=http\://balancer.example.com\:8080
- ファイルを保存します。
- 新しいクラスター・サーバーをインストールする場合は、通常どおりにサーバーをインストールし、以下の変更を行います。
- 各サーバーを同じデータベースに接続します。
- ユーザーがアクセスするホスト名には、サーバーをホストするコンピューターではなく、ロード・バランサーのホスト名を指定します。
- サーバーを別のサーバーと同じコンピューターにインストールする場合、HTTPS 要求に使用するポートはサーバーごとに異なるポートにしてください。
サーバーのインストールを参照してください。各サーバーのポートを必ず書き留めておいてください。後でこの情報が必要になります。HTTP 要求のデフォルト・ポートは 8080 で、HTTPS 要求のデフォルト・ポートは 8443 です。
- 各サーバーを始動します。
- 1 つのサーバーにログインし、「ログイン状態を保持」チェック・ボックスを選択します。
- そのサーバーの server.properties ファイルを開きます。
- server.properties ファイルで cookie.key プロパティーを見つけ、それをコピーします。 このプロパティーは、ユーザーがログインした時に Cookie に含まれるキーを指定します。ユーザーが各サーバーに別々にサインインする必要がないように、後でこのキーを他のサーバーにコピーします。
- 各サーバーの server.properties ファイルに、以下のプロパティーを追加します。
ha.activation.enabled=yes
ha.node.name=nodeName
cookie.key=cookieKey
nodeName には、各サーバーの固有ノード名を指定します。サーバーをセットアップすると、このノード名が各サーバーに表示されます。どのサーバーを使用しているかが分かると、問題のデバッグに役立ちます。使用しているノードの名前を表示するには、任意のページの上部にある「ヘルプ」をクリックします。以下の図に示すように、ノード名がメニューに表示されます。cookieKey には、最初のサーバーからコピーした Cookie キーを指定します。このキーは、各サーバーで同じでなければなりません。 例えば、
server.properties ファイルに追加するコードは次の例のようになる可能性があります。
ha.activation.enabled=yes
ha.node.name=HA node 1
cookie.key=D3ZizBbRSWFjdOQ8N2a/yQ\=\=
- オプション: 添付ファイルを共有ディレクトリーに保管するには、attachments.folder.path プロパティーを追加し、以下の例のように共有ディレクトリーを指定します。
attachments.folder.path=/
- 各サーバーを再始動します。
- サーバー間でロードを共有するようにロード・バランサーを構成します。 詳しくは、ご使用のロード・バランサーの資料を参照してください。
タスクの結果
複数のサーバーに接続を分散するようにロード・バランサーを構成すると、ユーザーは単一 URL に接続し、すべてのサーバーの容量を使用することができるようになります。また、サーバーは、ユーザーが複数のサーバーにアクセスする場合でも、1 人のユーザーにつき 1 つのライセンスのみが使用されるようにします。