Sun Java System Message Queue 3.7 UR1 管理ガイド

クラスタ管理

この節では、ブローカのセットを接続してクラスタを形成する方法、既存クラスタに新しいブローカを追加する方法、クラスタからブローカを削除する方法について説明します。

ブローカの接続

一般的にブローカを接続してクラスタを形成する方法は、2 つあります。コマンド行から行う方法 (-cluster オプションを使用) と、クラスタ設定ファイルで imq.cluster.brokerlist プロパティーを設定する方法です。どちらの方法を使用しても、起動するそれぞれのブローカは、5 秒ごとにその他のブローカとの接続を試み、設定されている場合はマスターブローカが起動すると接続されます。マスターブローカの前にクラスタのブローカを起動すると、マスターブローカが起動するまで、そのブローカは保留状態になり、クライアント接続を拒否します。マスターブローカが起動すると、保留状態のブローカは自動的に完全に機能するようになります。

ブローカクラスタをコマンド行から設定するには、それぞれのブローカの起動時に、imqbrokerd コマンドの -cluster オプションを使用して、クラスタのブローカの完全なリストを指定します。たとえば次のコマンドでは、新しいブローカが起動し、host1 のデフォルトポート 7676host2 のポート 5000、デフォルトホスト localhost のポート 9876 で動作しているブローカに接続されます。

imqbrokerd -cluster host1,host2:5000,:9876

本稼動システムに適した別の方法として、クラスタ設定ファイルを作成し、imq.cluster.brokerlist プロパティーを使用して、接続するブローカのリストを指定する方法があります。クラスタのそれぞれのブローカでは、独自の imq.cluster.url プロパティーを設定し、このクラスタ設定ファイルの場所を指定する必要があります。

いずれの方法であれ、クラスタ内のブローカで、ネットワーク ループバック IP アドレス (127.0.0.1) に解決するアドレスが指定されていないことを確認する必要があります。このアドレスで設定されたブローカは、クラスタ内のほかのブローカに接続できなくなります。


注 –

一部の Linux インストーラでは、localhost エントリが、ネットワークループバックアドレスに自動的に設定されます。このようなシステムでは、クラスタのすべてのブローカでアドレスを適切にするように、システムの IP アドレスを変更する必要があります。

クラスタに加わるすべての Linux システムでは、クラスタ設定の一環として /etc/hosts ファイルをチェックしてください。システムで固定 IP アドレスを使用している場合は、/etc/hosts ファイルを編集し、localhost の正しいアドレスを指定します。アドレスがドメインネームサービス (DNS) に登録されている場合は、/etc/nsswitch.conf ファイルを編集してエントリの順序を変更し、システムが DNS 検索を実行してから、ローカルの hosts ファイルを参照するように設定します。/etc/nsswitch.conf ファイルの行は次のようになります。

hosts:dns files

安全で暗号化されたメッセージ配信がクラスタのブローカ間で必要である場合は、SSL ベースのトランスポートプロトコルを使用するように cluster 接続サービスを設定します。「メッセージの暗号化」で説明するように、クラスタのブローカごとに、SSL ベースの接続サービスを設定します。次にそれぞれのブローカの imq.cluster.transport プロパティーを、クラスタ設定ファイルでまとめて、またはブローカごとに個別に、ssl に設定します。

クラスタへのブローカの追加

新しいブローカをクラスタに追加する手順は、クラスタでクラスタ設定ファイルを使用しているかどうかによって決まります。

Procedureクラスタ設定ファイルを使用して新しいブローカをクラスタに追加する

  1. クラスタ設定ファイルにある imq.cluster.brokerlist プロパティーに、新しいブローカを追加します。

  2. クラスタ内の任意のブローカに次のコマンドを実行します。


    imqcmd reload cls

    それぞれのブローカでクラスタ設定が再読み込みされ、クラスタに属しているブローカのすべての一貫した情報が最新になります。このコマンドをクラスタ内の各ブローカに対して実行する必要はありません。いずれかのブローカに対して実行すれば、すべてのブローカでクラスタ設定が再ロードされます。

  3. (任意指定) ブローカの config.properties ファイルで imq.cluster.url プロパティーの値をクラスタ設定ファイルの場所に設定します。

  4. 新しいブローカを起動します。

    「クラスタへのブローカの追加」を実行しなかった場合は、imqbrokerd コマンド行で -D オプションを使用し、imq.cluster.url の値を設定します。

クラスタ設定ファイルを使用せずに新しいブローカをクラスタに追加する

config.properties ファイルを編集するか、imqbrokerd コマンド行で -D オプションを使用し、次のプロパティー値を設定します。

クラスタからのブローカの削除

クラスタからブローカを削除する方法は、最初にコマンド行でクラスタを作成したか、中央のクラスタ設定ファイルによって作成したかによって決まります。

コマンド行を使用したブローカの削除

コマンド行から imqbrokerd コマンドを使用してブローカをクラスタに接続した場合は、それぞれのブローカを停止してから、コマンド行に新しいクラスタメンバーセットを指定してブローカを再起動する必要があります。その手順は次のとおりです。

Procedureコマンド行を使用してクラスタからブローカを削除する

  1. imqcmd コマンドを使用し、クラスタのそれぞれのブローカを停止します。

  2. imqbrokerd コマンドの -cluster オプションを使用し、クラスタに残すブローカのみを指定してそれらのブローカを再起動します。

    たとえば、次のコマンドを使用して、A、B、 C というそれぞれのブローカを起動し、その 3 つのブローカから構成されるクラスタを最初に作成したとします。


    imqbrokerd -cluster A,B,
    C
    

    ブローカ A をクラスタから削除するには、次のコマンドを使用してブローカ BC を再起動します。


    imqbrokerd -cluster B,C
    

クラスタ設定ファイルを使用したブローカの削除

中央のクラスタ設定ファイルの imq.cluster.brokerlist プロパティーでメンバーブローカを指定してクラスタを最初に作成した場合、ブローカを停止してメンバーのうち 1 つのブローカを削除する必要はありません。単純に設定ファイルを編集して削除したいブローカを除外し、残りのクラスタメンバーにクラスタ設定を再読み込みさせます。除外するブローカは、同じクラスタ設定ファイルの場所を指定しないように再設定します。手順は次のとおりです。

Procedureクラスタ設定ファイルを使用してクラスタからブローカを削除する

  1. クラスタ設定ファイルを編集し、imq.cluster.brokerlist プロパティーに指定しているリストから除外対象ブローカを削除します。

  2. クラスタ内の残りのブローカに次のコマンドを実行します。


    imqcmd reload cls

    ブローカがクラスタ設定を再読み込みします。

  3. クラスタから削除するブローカを停止します。

  4. そのブローカの config.properties ファイルを編集し、imq.cluster.url プロパティーを削除するか、別の値を指定します。