Red Hat JBoss EAP クラスター環境への Red Hat Decision Manager のインストールおよび設定
概要
はじめに
システムエンジニアは、Red Hat Decision Manager クラスター環境を作成して、開発環境およびランタイム環境に高可用性および負荷分散を提供できます。
前提条件
Red Hat Decision Manager インストールの計画 の内容を確認している。
第1章 Red Hat Decision Manager のクラスター
2 台以上のコンピューターをクラスターリングすると、高可用性、コラボレーションの強化、負荷分散の利点があります。高可用性により、1 台のコンピューターで障害が発生したときにデータが損失する可能性を減らすことができます。その障害が発生したコンピューターにあるデータのコピーを提供することで、コンピューターに障害が発生したときに、別のコンピューターが不足を補います。障害が発生したコンピューターが再度オンラインになったら、クラスターに戻ります。負荷分散はクラスターのノード間でコンピューティング負荷を共有します。これにより、パフォーマンスが改善します。
Red Hat Decision Manager コンポーネントのクラスターリングを行う方法は複数あります。本書は、以下のシナリオにおけるクラスターリングの方法を説明します。
第2章 開発 (オーサリング) 環境における Red Hat Decision Manager クラスター
Decision Central の高可用性設定は現在、テクノロジープレビュー機能となっています。
Red Hat Decision Manager 開発環境をクラスターリングする主な利点は高可用性にあります。クラスターリングを設定し、開発者 X が Node1 で作業しているときにそのノードで障害が発生した場合、開発者 X が作業した内容は、クラスターの別のノードに保存され、確認できます。
多くの開発環境には、Decision Central と最低でも 1 台 Decision Server が含まれています。
Red Hat Decision Manager クラスター化開発環境を作成するには、Red Hat JBoss EAP 7.2 および Red Hat Decision Manager 7.2 をダウンロードして展開します。次に、Elasticsearch および AMQ Broker (Java メッセージングサービス (JMS) ブローカー) で Red Hat JBoss EAP 7.2 を設定します。最後に、各クラスターノードでクラスターを起動して Decision Central をインストールします。
Elasticsearch は、スケーラビリティーに優れたオープンソースの全文検索および解析エンジンです。これにより、大量のデータを素早くほぼリアルタイムに保存、検索、および解析できます。Red Hat Decision Manager のクラスター環境では、クラスターノード全体にわたる複雑な検索を効率的に実施できます。
JMS ブローカーは、ローカルでメッセージを受信して保存し、そのメッセージを受信者に転送するソフトウェアコンポーネントです。AMQ Broker を使用すると、アプリケーションがメッセージングプロバイダーと通信できます。また、メッセージ駆動型 Bean、Enterprise JavaBean、servlet などのコンポーネントがどのようにメッセージを送受信するかを指定します。
2.1. Elasticsearch のインストールおよび設定
クラスターノード全体をより効率的に検索するために Elasticsearch を使用するには、Red Hat Decision Manager のクラスター環境用に Elasticsearh をインストールして設定する必要があります。以下の説明を使用して、高可用性ではなく、簡素化された環境を設定します。
高可用性の Red Hat Decision Manager クラスター環境に Elasticsearch を設定する方法は、Elasticsearch のドキュメント を参照してください。
手順
- Elasticsearch のインストールファイルをダウンロードして展開します。
elasticsearch/config/elasticsearch.yml
ファイルの内容を以下に置き換えます。<ELASTICSEARCH_NODE_IP>
は、Elasticsearch ファイルを展開したシステムの IP アドレスになります。cluster.name: kie-cluster transport.host: <ELASTICSEARCH_NODE_IP> http.host: <ELASTICSEARCH_NODE_IP> transport.tcp.port: 9300 discovery.zen.minimum_master_nodes: 1
Elasticsearch を実行します。
Linux または UNIX ベースのシステムの場合は、以下のように入力します。
ELASTICSEARCH_HOME_/bin/elasticsearch
Windows の場合は、以下のように入力します。
ELASTICSEARCH_HOME\bin\elasticsearch.bat
2.2. AMQ Broker のダウンロードおよび設定
AMQ Broker を使用すると、アプリケーションがメッセージングプロバイダーと通信できます。また、メッセージ駆動型 Bean、Enterprise JavaBean、servlet などのコンポーネントがどのようにメッセージを送受信するかを指定します。以下の説明を使用して、高可用性ではなく、簡素化された環境を設定します。
高可用性の Red Hat Decision Manager クラスター環境用の AMQ Broker を設定するには、Using AMQ Brokerを参照してください。
手順
Red Hat カスタマーポータルの Software Downloads ページに移動し (ログインが必要)、ドロップダウンオプションから製品およびバージョンを選択します。
- Product: AMQ Broker
- バージョン: 7.2.0
-
Red Hat AMQ Broker 7.2.0 (
amq-broker-7.2.0-bin.zip
) の横の Download をクリックします。 -
amq-broker-7.2.0-bin.zip
ファイルを展開します。 -
amq-broker-7.2.0-bin/amq-broker-7.2.0/bin
のディレクトリーに移動します。 以下のコマンドを入力します。以下のプレースホルダーを置き換えて、ブローカーおよびブローカーのユーザーを作成します。
-
<HOST>
は、AMQ Broker をインストールしたサーバーの IP アドレスまたはホスト名に置き換えます。 -
<AMQ_USER>
および<AMQ_PASSWORD>
は、任意のユーザー名とパスワードの組み合わせに置き換えます。 <BROKER_NAME>
は作成するブローカーの名前に置き換えます。./artemis create --host <HOST> --user <AMQ_USER> --password <AMQ_PASSWORD> --require-login <BROKER_NAME>
-
AMQ Broker を実行するには、
amq-broker-7.2.0-bin/amq-broker-7.2.0/bin
ディレクトリーで以下のコマンドを入力します。amq-broker-7.2.0/bin/<BROKER_NAME>/bin/artemis run
2.3. Red Hat JBoss EAP 7.2 および Red Hat Decision Manager のダウンロードおよび展開
クラスターの各ノードで Red Hat JBoss EAP 7.2 および Red Hat Decision Manager 7.2 をダウンロードして、インストールします。
手順
クラスターの各ノードに Red Hat JBoss EAP 7.2 をインストールします。
Red Hat カスタマーポータルの Software Downloads ページに移動し (ログインが必要)、ドロップダウンオプションから製品およびバージョンを選択します。
- Product: Enterprise Application Platform
- Version: 7.2
-
Red Hat JBoss Enterprise Application Platform 7.2.0 の横にある Download をクリックします。(
JBEAP-7.2.0/jboss-eap-7.2.0.zip
)。
-
jboss-eap-7.2.0.zip
ファイルを展開します。以下の例では、EAP_HOME
をjboss-eap-7.2/jboss-eap-7.2
ディレクトリーとします。 - 最新の Red Hat JBoss EAP パッチが利用できる場合には、ダウンロードして適用します。
クラスターの各ノードで Red Hat Decision Manager をダウンロードします。
Red Hat カスタマーポータルの Software Downloads ページに移動し、ドロップダウンオプションから製品およびバージョンを選択します。
- Product: Decision Manager
- Version: 7.2
-
Red Hat Decision Manager 7.2.0 Decision Central Deployable for Red Hat JBoss EAP 7 (
rhdm-7.2.0-decision-central-eap7-deployable.zip
) をダウンロードします。
-
rhdm-7.2.0-decision-central-eap7-deployable.zip
ファイルを一時ディレクトリーに展開します。以下のコマンドでは、このディレクトリーをTEMP_DIR
とします。 -
TEMP_DIR/rhdm-7.2.0-decision-central-eap7-deployable/jboss-eap-7.2/standalone/deployments/decision-central.war/WEB-INF/web.xml/
ファイルを開き、<distributable/>
タグのコメントを解除してweb.xml
ファイルを保存します。 -
TEMP_DIR/rhdm-7.2.0-decision-central-eap7-deployable/jboss-eap-7.2
の内容をEAP_HOME
にコピーします。 - 最新の Red Hat Decision Manager のパッチが利用できる場合には、ダウンロードして適用します。
-
EAP_HOME/bin
ディレクトリーに移動します。 Decision Central へのログインに使用する、
admin
ロールを持つユーザーを作成します。以下のコマンドの<username>
および<password>
を、作成するユーザーとそのパスワードに置き換えます。$ ./add-user.sh -a --user <USERNAME> --password <PASSWORD> --role admin
注記必ず、既存のユーザー、ロール、またはグループとは異なるユーザー名を指定してください。たとえば、
admin
という名前のユーザーは作成しないでください。パスワードは 8 文字以上で、数字と、英数字以外の文字をそれぞれ 1 文字以上使用する必要があります。ただし & の文字は使用できません。
Decision Server へのログインに使用する、
kie-server
ロールのユーザーを作成します。$ ./add-user.sh -a --user <USERNAME> --password <PASSWORD> --role kie-server
- ユーザー名とパスワードを書き留めておきます。
2.4. クラスターでの Decision Central の設定および実行
Red Hat JBoss EAP と Decision Central のインストール後に、Elasticsearch と AMQ Broker を使用してクラスターを設定できます。
この手順では、基本的なクラスター設定を説明します。より詳細な設定は Red Hat JBoss EAP 7.2 設定ガイド を参照してください。
前提条件
- 「Elasticsearch のインストールおよび設定」 の説明どおりに Elasticsearch がインストールされている。
- 「AMQ Broker のダウンロードおよび設定」 の説明通りに AMQ Broker がインストールされ、設定されている。
- 「Red Hat JBoss EAP 7.2 および Red Hat Decision Manager のダウンロードおよび展開」 の説明通りに、クラスターの各ノードに Red Hat JBoss EAP および Red Hat Decision Manager がインストールされている。
- マウントしたパーティションが存在する NFS サーバーが利用できる。
手順
-
テキストエディターで
EAP_HOME/standalone/configuration/standalone-full-ha.xml
ファイルを開きます。 <system-properties>
要素で以下のプロパティーを変更または追加し、以下のプレースホルターを置き換えます。-
<AMQ_USER>
および<AMQ_PASSWORD>
は、AMQ Broker の作成時に定義した認証情報に置き換えます。 -
<AMQ_BROKER_IP_ADDRESS>
は AMQ Broker の IP アドレスに置き換えます。 -
<ELASTICSEARCH_NODE_IP>
は、Elasticseach がインストールされている IP アドレスに置き換えます。 -
<SHARED_NETWORK_FOLDER>
は、クラスター内の全 Decision Centrals がデータの交換に使用するネットワークフォルダーに置き換えます。このフォルダーは、クラスターの前ノード上で同じものを指定する必要があります。
<system-properties> <property name="appformer-jms-connection-mode" value="REMOTE"/> <property name="appformer-jms-username" value="<AMQ_USER> "/> <property name="appformer-jms-password" value="<AMQ_USER_PASSWORD>"/> <property name="appformer-jms-url" value="tcp://<AMQ_BROKER_IP_ADDRESS>:61616?ha=true&retryInterval=1000&retryIntervalMultiplier=1.0&reconnectAttempts=-1"/> <property name="org.appformer.ext.metadata.elastic.port" value="9300"/> <property name="org.appformer.ext.metadata.elastic.host" value="<ELASTICSEARCH_NODE_IP>"/> <property name="org.appformer.ext.metadata.elastic.cluster" value="kie-cluster"/> <property name="org.appformer.ext.metadata.index" value="elastic"/> <property name="org.appformer.ext.metadata.elastic.retries" value="10"/> <property name="org.uberfire.nio.git.dir" value="<SHARED_NETWORK_FOLDER>"/> <property name="es.set.netty.runtime.available.processors" value="false"/> </system-properties>
-
-
standalone-full-ha.xml
ファイルを保存します。 クラスターを起動するには
EAP_HOME/bin
に移動して、以下のコマンドの 1 つを入力します。Linux または UNIX ベースのシステムの場合:
$ ./standalone.sh -c standalone-full-ha.xml
Windows の場合:
standalone.bat -c standalone-full-ha.xml
2.5. Red Hat Decision Manager クラスターの検証
Red Hat Decision Manager のクラスターを設定したら、アセットを作成してシステムが機能していることを検証します。
手順
-
Web ブラウザーで、
<node-IP-address>:8080/decision-central
を入力します。<node-IP-address>
は特定のノードの IP アドレスに置き換えます。 -
インストール時に作成した
admin
ユーザーの認証情報を入力します。Decision Central ホームページが表示されます。 - Menu → Design → Projects の順に選択します。
- Try Samples → Mortgages → OK の順にクリックします。Assets ウィンドウが表示されます。
- Create New Asset → Data Object をクリックします。
-
Data Object フィールドに
MyDataObject
と入力し、OK をクリックします。 -
Spaces → mySpace → Mortgages の順にクリックし、アセットリストに
MyDataObject
があることを確認します。 Web ブラウザーに以下の URL を入力します。
<node_IP_address>
には、クラスターの別のノードのアドレスに置き換えます。http://<node_IP_address>:8080/decision-central
-
MyDataObject
アセットを作成した最初のノードの Decision Central にログインするときに使用した認証情報と同じものを入力します。 - Menu → Design → Projects の順に選択します。
- Mortgages プロジェクトを選択します。
-
MyDataObject
がアセットリストにあることを確認します。 - Mortgages プロジェクトを選択します。
第3章 ランタイム環境における Decision Server クラスター
Decision Server ランタイム環境をクラスターリングする主な利点は負荷分散です。クラスターのノードの 1 つでアクティビティーが増えると、そのアクティビティーはクラスターの残りのノードと共有されるため、パフォーマンスが改善します。
Decision Server のクラスター化ランタイム環境を作成するには、Red Hat JBoss EAP 7.2 および Decision Server をダウンロードして展開します。次に、ドメインモードクラスターに Red Hat JBoss EAP 7.2 を設定し、クラスターを起動し、各クラスターノードに Decision Server をインストールします。
任意で、ヘッドレス Decision Manager コントロールパッドをクラスター化できます。
3.1. Red Hat JBoss EAP 7.2 および Decision Server のダウンロードおよび展開
本セクションの手順を行い、Red Hat JBoss EAP 7.2 をダウンロードしてインストールし、クラスター環境にインストールするために Decision Server をダウンロードして再パッケージ化します。
手順
クラスターの各ノードに Red Hat JBoss EAP 7.2 をインストールします。
Red Hat カスタマーポータルの Software Downloads ページに移動し (ログインが必要)、ドロップダウンオプションから製品およびバージョンを選択します。
- Product: Red Hat JBoss EAP
- Version: 7.2
-
Red Hat JBoss Enterprise Application Platform 7.2.0 (
jboss-eap-7.2.0.zip
) の横にある Download をクリックします。
-
jboss-eap-7.2.0.zip
ファイルを展開します。jboss-eap-7.2/jboss-eap-7.2
ディレクトリーはEAP_HOME
とします。 - 最新の Red Hat JBoss EAP パッチが利用できる場合には、ダウンロードして適用します。
Decision Server をダウンロードします。
Red Hat カスタマーポータルの Software Downloads ページに移動し、ドロップダウンオプションから製品およびバージョンを選択します。
- Product: Decision Manager
- Version: 7.2
-
Red Hat Decision Manager 7.2.0 Decision Server for All Supported EE7 Containers (
rhdm-7.2.0-kie-server-ee7.zip
) をダウンロードします。
-
rhdm-7.2.0-kie-server-ee7.zip
アーカイブを一時ディレクトリーに展開します。以下の例では、この名前をTEMP_DIR
とします。 TEMP_DIR/rhdm-7.2.0-kie-server-ee7/rhdm-7.2.0-kie-server-ee7/kie-server.war
ディレクトリーをEAP_HOME/standalone/deployments/
にコピーします。警告コピーする Red Hat Decision Manager デプロイメントの名前が Red Hat JBoss EAP インスタンスの既存デプロイメントと競合しないことを確認します。
-
TEMP_DIR/rhdm-7.2.0-kie-server-ee7/rhdm-7.2.0-kie-server-ee7/SecurityPolicy/
の内容をEAP_HOME/bin
にコピーします。ファイルの上書きを確認するメッセージが表示されたら、Replace をクリックします。 -
EAP_HOME/standalone/deployments/
ディレクトリーに、kie-server.war.dodeploy
という名前で空のファイルを作成します。このファイルにより、サーバーが起動すると Decision Server が自動的にデプロイされます。 - 最新の Red Hat Decision Manager のパッチが利用できる場合には、ダウンロードして適用します。
-
EAP_HOME/bin
ディレクトリーに移動します。 Decision Server へのログインに使用する、
kie-server
ロールのユーザーを作成します。$ ./add-user.sh -a --user <USERNAME> --password <PASSWORD> --role kie-server
- ユーザー名とパスワードを書き留めておきます。
クラスターを起動するには
EAP_HOME/bin
に移動して、以下のコマンドの 1 つを入力します。Linux または UNIX ベースのシステムの場合:
$ ./standalone.sh -c standalone-full.xml
Windows の場合:
standalone.bat -c standalone-full.xml
3.2. ヘッドレス Decision Manager コントローラーを使用したクラスタリング
Decision Manager コントローラーは Decision Central と統合します。ただし、Decision Central をインストールしない場合は、ヘッドレス Decision Manager コントローラーをインストールし、REST API または Decision Server Java Client API を使用してそのコントローラーと対話します。
前提条件
-
バックアップを作成してある Red Hat JBoss EAP システム (バージョン 7.2 またはそれ以降) が利用できる。Red Hat JBoss EAP システムのベースディレクトリーを
EAP_HOME
とする。 - インストールを完了するのに必要なユーザーパーミッションが付与されている。
- マウントしたパーティションが存在する NFS サーバーが利用できる。
手順
Red Hat カスタマーポータルの Software Downloads ページに移動し (ログインが必要)、ドロップダウンオプションから製品およびバージョンを選択します。
- Product: Decision Manager
- Version: 7.2
-
Red Hat Decision Manager 7.2.0 Add Ons (
rhdm-7.2.0-add-ons.zip
ファイル) をダウンロードします。 -
rhdm-7.2.0-add-ons.zip
ファイルを展開します。rhdm-7.2-controller-ee7.zip
ファイルは展開したディレクトリーにあります。 -
rhdm-7.2-controller-ee7.zip
アーカイブを一時ディレクトリーに展開します。以下の例では、この名前をTEMP_DIR
とします。 TEMP_DIR/rhdm-7.2-controller-ee7/controller.war
ディレクトリーをEAP_HOME/standalone/deployments/
にコピーします。警告コピーするヘッドレス Decision Manager コントローラーデプロイメントの名前が、Red Hat JBoss EAP インスタンスの既存デプロイメントと競合しないことを確認します。
-
TEMP_DIR/rhdm-7.2-controller-ee7/SecurityPolicy/
ディレクトリーの中身をEAP_HOME/bin
にコピーします。ファイルの上書きを確認するメッセージが表示されたら、Yes を選択します。 -
EAP_HOME/standalone/deployments/
ディレクトリーに、controller.war.dodeploy
という名前で空のファイルを作成します。このファイルにより、サーバーが起動するとヘッドレス Decision Manager コントローラーが自動的にデプロイされます。 -
テキストエディターで
EAP_HOME/standalone/configuration/standalone.xml
ファイルを開きます。 以下のプロパティーを
<system-properties>
要素に追加し、<NFS_STORAGE>
を、テンプレート設定が保存されている NFS ストレージへの絶対パスに置き換えます。<system-properties> <property name="org.kie.server.controller.templatefile.watcher.enabled" value="true"/> <property name="org.kie.server.controller.templatefile" value="<NFS_STORAGE>"/> </system-properties>
org.kie.server.controller.templatefile.watcher.enabled
プロパティーの値を true に設定すると、別のスレッドが開始してテンプレートファイルの修正を監視します。この確認の間隔はデフォルトで 30000 ミリ秒になり、org.kie.server.controller.templatefile.watcher.interval
システムプロパティーで制御できます。このプロパティーの値を false に設定すると、テンプレートファイルへの変更の検出が、サーバーの再起動時に制限されます。ヘッドレス Decision Manager コントローラーを開始するには、
EAP_HOME/bin
に移動して、以下のコマンドを実行します。Linux または UNIX ベースのシステムの場合:
$ ./standalone.sh
Windows の場合:
standalone.bat
第4章 関連情報
付録A バージョン情報
ドキュメントの最終更新日: 2021 年 11 月 15 日