Red Hat Training

A Red Hat training course is available for Red Hat Decision Manager

第4章 Red Hat Decision Manager におけるクラスター化 (デザインタイム開発環境向け)

注記

本セクションは、Git リポジトリーをクラスター化する必要がある Decision Central の開発環境に主眼を置いています。Decision Server の実稼働環境では、クラスター環境を構築する必要はありません。

Red Hat では、デザインタイム開発環境向けに、2 つまたはそれ以上のコンピューターをクラスター化した高可用性クラスター環境の構築について検討することを推奨します。これにより、協調作業が促進され高可用性が得られます。

たとえば、クラスター化が設定されている場合、開発者 X が Decision Central ノード 1 でルールを作成すると、Decision Central ノード 2 で作業中の開発者 Y がそのルールを見ることができます。さらに、クラスター環境の各ノードで作業中の開発者全員が、同一コンテンツを同期された状態で見ることができます。

また、クラスター化によりルールの開発環境に高可用性がもたらされます。開発者 X がノード 1 で作業中にそのノードに異常が発生したとしても、開発者 X の作業内容が維持されクラスター環境のどのノードからでもの内容にアクセスすることができます。

以下のセクションでは、クラスター化された Red Hat Decision Manager 環境を構築する方法について説明します。

4.1. Elasticsearch の設定

Elasticsearch は、スケーラビリティーに優れたオープンソースの全文検索および解析エンジンです。これにより、大量のデータを素早くほぼリアルタイムに保存、検索、および解析できます。Red Hat Decision Manager のクラスター環境では、ノード全体にわたる複雑な検索を効率的に実施できます。Elasticsearch は、クラスター環境のメインノードに設定します。

手順

  1. Elasticsearch のインストールファイルをダウンロードして展開します。
  2. elasticsearch/config/elasticsearch.yml ファイルの内容を以下のように置き換えます。ここで、<MAIN_NODE_IP> はクラスターのメインノードの IP アドレスです。

    cluster.name: kie-cluster
    transport.host: <MAIN_NODE_IP>
    http.host: <MAIN_NODE_IP>
    transport.tcp.port: 9300
    xpack.security.enabled: false
    discovery.zen.minimum_master_nodes: 1
  3. 以下のプラグインをインストールします。

    • Linux または UNIX ベースのシステムの場合は、以下のように入力します。

      ./bin/elasticsearch-plugin install x-pack
    • Windows の場合は、以下のように入力します。

      bin\elasticsearch-plugin.bat install x-pack
  4. メインノードで Elasticsearch を実行します。

    • Linux または UNIX ベースのシステムの場合は、以下のように入力します。

      ./bin/elasticsearch

      Windows の場合は、以下のように入力します。

      bin\elasticsearch.bat

4.2. ActiveMQ JMS ブローカーのアクティブ化

Elasticsearch をインストールしたら、クラスターのメインノードで ActiveMQ JMS ブローカーをアクティブ化する必要があります。

前提条件

クラスターのメインノードにインストールされた Elasticsearch

手順

  1. EAP_HOME/standalone/configuration/standalone.xml ファイルに以下のプロパティーを追加します。

    • socket-binding-group 要素に <socket-binding name="activemq" port="61616"/> を追加します。
    • messaging-activemq サブシステム要素の <server name="default"> に、<remote-acceptor name="activemq-acceptor" socket-binding="activemq"/> を追加します。
  2. クラスターの各ノードについて、「クラスターノードへの Decision Central のインストール」に記載のステップをすべて実施します。

4.3. クラスターノードへの Decision Central のインストール

本セクションのステップをすべて実施して、クラスターの各ノードに Decision Central をインストールして実行します。

前提条件

  • すべての Red Hat Decision Manager ノードがアクセスできる NFS マウントしたディレクトリーが利用可能
  • クラスターのメインノードにインストールされた Elasticsearch
  • クラスターのメインノードでアクティブ化した ActiveMQ JMS ブローカー

手順

  1. クラスターの各ノード上に Decision Central をインストールします。Decision Central のインストールの詳細については、「2章Red Hat Decision Manager のインストール」を参照してください。
  2. ./standalone.xml ファイルの以下のプロパティーを編集します。ここで、

    • <MAIN_NODE> はクラスターのメインノードの IP アドレスです
    • <JMS_BROKER_USER> は JMS ブローカー用のユーザー名です
    • <JMS_BROKER_PASSWORD> は JMS ブローカー用のパスワードです

      <system-properties>
        <property name="org.uberfire.nio.git.dir" value="
            <niogit_dir_on_shared_nfs>"/>
        <property name="appformer-cluster" value="true"/>
        <property name="appformer-jms-url" value="tcp://<MAIN_NODE_IP>:61616"/>
        <property name="appformer-jms-username" value="<JMS_BROKER_USER>"/>
        <property name="appformer-jms-password" value="<JMS_BROKER_PASSWORD>"/>
        <property name="org.appformer.ext.metadata.index" value="elastic"/>
        <property name="org.appformer.ext.metadata.elastic.port" value="9300"/>
        <property name="org.appformer.ext.metadata.elastic.host"
            value="<MAIN_NODE_IP>"/>
        <property name="org.appformer.ext.metadata.elastic.cluster"
            value="kie-cluster"/>
        <property name="org.appformer.ext.metadata.elastic.retries" value="10"/>
      </system-properties>
  3. クラスター環境のメインノードにインストールした Red Hat JBoss EAP において、admin ロールを持つユーザーを作成します。この時、ユーザー名およびパスワードは、前のステップで作成した <JMS_BROKER_USER> および <JMS_BROKER_PASSWORD> の値と一致させます。

    $ <MAIN_NODE_EAP_HOME>/bin/./add-user.sh -a --user <JMS_BROKER_USER> --password <JMS_BROKER_USER> --role admin
  4. Decision Central を起動するには、クラスターの各ノードにおいて以下のコマンドのいずれかを入力します。

    • Linux または UNIX ベースのシステムの場合:

      EAP_HOME/bin/standalone.sh
    • Windows の場合:

      EAP_HOME\bin\standalone.bat