クラスタのインストール

クラスタのインストールでは、一度に 1 つの Spectrum™ Technology Platform サーバーを設定します。追加する各サーバーを、シード ノードとして機能する既存のサーバーを参照するように設定する必要があります。シード ノード とは、Spectrum 構成データのコピーを保持するサーバーのことです。それを新しいノードにコピーして、新しいノードの構成をクラスタ内の他のノードと同期させることができます。以下の図はこのプロセスを示したものです。

最初のノードをインストールした後は、実質的にノードが 1 つだけのクラスタになります。



2 番目のノードをインストールするときは、1 番目のノードをシード ノードとして参照する必要があります。これにより、2 番目のノードは 1 番目のノードの構成データベースのコピーを受け取ることができ、結果として同期された構成情報を持つ 2 ノードのクラスタになります。



新しいノードを追加するときは、既存のどのノードをシード ノードとして参照してもかまいません。また、1 番目のノードがダウンした場合にクラスタに参加しなおすことができるよう、1 番目のノードがクラスタ内の少なくとも 1 つの他のノードを参照するように設定する必要があります。



操作を始める前に、ロード バランサーをインストールします。適切なロード バランサーを自由に選択できます。インストールの手順については、ロード バランサーのドキュメントを参照してください。

注: ロード バランサーは、エンコードされたフォワード スラッシュを許可するように設定する必要があります。ロード バランサーがエンコードされたフォワード スラッシュを許可しない場合、クラスタの使用中に HTTP 404 エラーが発生する可能性があります。例えば、Apache ロード バランサーを使用している場合は、httpd.conf ファイルを開いて AllowEncodedSlashes On プロパティを指定することで、エンコードされたフォワード スラッシュを許可するように設定できます。その他の種類のロード バランサーについては、そのロード バランサーのドキュメントを参照してください。

ロード バランサーのインストールが完了したら、以下の手順に従ってノードをクラスタにインストールします。

  1. ノードをホストするサーバーに Spectrum™ Technology Platform をインストールします。手順については、新しいサーバーのインストールを参照してください。
    重要: インストールの完了時に、サーバーを起動しないでください。サーバーを起動する前に、以下の手順を行う必要があります。
  2. プロパティ ファイルを設定します。
    1. ファイル server/app/conf/spectrum-container.properties の中のプロパティを、クラスタ プロパティに記載されているとおりに編集します。
    2. spectrum-container.properties ファイルを保存して閉じます。
    3. 一部のモジュールには固有の設定があり、クラスタでモジュールを機能させるために適切に構成する必要があります。
      モジュール クラスタ構成の設定
      Advanced Matching モジュール これらの設定は、フルテキスト検索インデックスをクラスタに指定します。フルテキスト検索インデックスを使用しない場合は、これらの設定を指定する必要はありません。

      次のファイルをテキスト エディターで開きます。

      SpectrumFolder\server\modules\searchindex\es-container.properties

      以下のプロパティを構成します。

      es.index.default_number_of_replicas
      各検索インデックスに対して作成する追加コピーの数を入力します。この数は、クラスタ内のノード数から 1 を引いた数にする必要があります。例えば、クラスタに 5 つのノードが含まれる場合、このフィールドには "4" を入力します。
      es.index.default_number_of_shards
      分散環境におけるインデックスのシャード数を入力します。クラスタ内のノード数が多いほど、この数を大きくする必要があります。

      これらのプロパティの編集が終わったら、es-container.properties を保存し、閉じます。

      注: Spectrum™ Technology Platform 10.0 よりも前のリリースで作成された検索インデックスは、クラスタリングに対応していません。10.0 よりも前のリリースで作成されたインデックスをクラスタリングで使うには、es-container.properties ファイルを変更した後で、10.0 API を使って検索インデックスを再作成する必要があります。
      Data Hub モジュール 次のファイルをテキスト エディターで開きます。

      SpectrumFolder\server\modules\hub\hub.properties

      以下のプロパティを構成します。

      hub.models.path.base
      モデルを保存するフォルダを指定します。各モデルはデフォルトで、SpectrumFolder\server\modules\hub\db フォルダの下のサブディレクトリに配置されます。モデルを別の場所に保存したい場合は、このプロパティのコメントを解除し、モデルを保存するフォルダを指定します。
      hub.neo4j.database.type
      このプロパティの値を ha に変更します。デフォルト値の embedded は、非クラスタ化インストール用です。
      hub.servers.per.cluster
      この行のコメントを解除します。このプロパティの値として、クラスタに含まれる Spectrum™ Technology Platform サーバーの数を指定します。

      これらのプロパティの編集が終わったら、hub.properties を保存し、閉じます。

      SpectrumFolder\server\modules\hub\db\neo4j.properties は、Neo4j Enterprise を使用して、グラフ データベースの設定方法を制御します。このファイルは、各モデルのテンプレートとして使用されます。必要に応じて、各モデルを個別に設定することができます。そのモデルの格納ディレクトリにこのプロパティ ファイルのコピーを配置することによって、これを行います。

  3. サーバーを開始します。サーバーを起動するには、作業ディレクトリを Spectrum™ Technology Platform サーバーの bin ディレクトリに変更し、セットアップ ファイルのソースを指定して、コマンド ./server.start を入力します。
  4. クラスタにさらにノードをインストールするには、この手順を繰り返します。
  5. すべてのノードをインストールしたら、最初のノードに戻り、他のノードをシード ノードとして追加します。
    1. 最初にインストールしたノードで、プロパティ ファイル server/app/conf/spectrum-container.properties を開きます。
    2. プロパティ spectrum.cluster.seeds に、クラスタ内の他のノードのホスト名または IP アドレスを、それぞれカンマで区切って追加します。
    3. spectrum-container.properties ファイルを保存して閉じます。サーバーを再起動する必要はありません。