クラスタのインストール

注: Location Intelligence モジュールのみに対してクラスタを設定する場合は、「 Location Intelligence モジュール用のクラスタのインストール」の手順に従います。

クラスタのインストールでは、一度に 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をインストールします。手順については、新しいサーバーのインストールを参照してください。
    重要: インストールが完了すると、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 Platform10.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 を使用して、グラフ データベースの設定方法を制御します。このファイルは、各モデルのテンプレートとして使用されます。必要に応じて、各モデルを個別に設定することができます。そのモデルの格納ディレクトリにこのプロパティ ファイルのコピーを配置することによって、これを行います。

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

      SpectrumFolder\server\modules\machinelearning/java.vmargs

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

      -Xmx
      最大メモリ割り当てを指定します。Machine Learning モジュール クラスタのサイズをデータの約 4 倍とし、すべてのノードに同量のメモリを割り当てることをお勧めします。スワッピングを回避するために、-Xmx による割り当てがどのノードにおいても物理メモリを上回らないようにしてください。
  3. サーバーを開始します。サーバーを起動するには、Windows タスク バーの Spectrum™ Technology Platform アイコンを右クリックして [サーバーの開始] を選択します。
  4. クラスタにさらにノードをインストールするには、この手順を繰り返します。
  5. すべてのノードをインストールしたら、最初のノードに戻り、他のノードをシード ノードとして追加します。
    1. 最初にインストールしたノードで、プロパティ ファイル server/app/conf/spectrum-container.propertiesを開きます。
    2. プロパティ spectrum.cluster.seeds に、クラスタ内の他のノードのホスト名または IP アドレスを、それぞれカンマで区切って追加します。
    3. spectrum-container.propertiesファイルを保存して閉じます。サーバーを再起動する必要はありません。