Red Hat JBoss EAP クラスター環境への Red Hat Process Automation Manager のインストールおよび設定
Red Hat Customer Content Services
brms-docs@redhat.com
概要
前書き
システムエンジニアは、Red Hat Process Automation Manager クラスター環境を作成して、開発環境およびランタイム環境に高可用性および負荷分散を提供できます。
前提条件
第1章 Red Hat Process Automation Manager クラスター
2 台以上のコンピューターをクラスタリングすると、高可用性、コラボレーションの強化、負荷分散の利点があります。高可用性により、1 台のコンピューターで障害が発生したときにデータが損失する可能性を減らすことができます。その障害が発生したコンピューターにあるデータのコピーを提供することで、コンピューターに障害が発生したときに、別のコンピューターが不足を補います。障害が発生したコンピューターが再度オンラインになったら、クラスターに戻ります。負荷分散はクラスターのノード間でコンピューティング負荷を共有します。これにより、パフォーマンスが改善します。
Red Hat Process Automation Manager コンポーネントのクラスタリングを行う方法は複数あります。本書は、以下のシナリオにおけるクラスタリングの方法を説明します。
第2章 開発 (オーサリング) 環境における Red Hat Process Automation Manager クラスター
Business Central の高可用性設定は現在、テクノロジープレビュー機能となっています。
開発者は、Red Hat Process Automation Manager を使用して、ユーザーの意思決定をサポートするルールとプロセスを作成できます。
Red Hat Process Automation Manager をクラスター開発環境として設定すると、高可用性の利点が得られます。クラスター環境では、開発者が Node1 で作業していてそのノードで障害が発生した場合に、この開発者が作業した内容は、クラスターの別のノードに保存され、そちらで確認できます。
多くの開発環境には、ルールとプロセスを作成する Business Central と、このルールおよびプロセスをテストする 1 台以上の Process Server があります。
Red Hat Process Automation Manager のクラスター開発環境を構築するには、以下のタスクを実行する必要があります。
- Red Hat JBoss EAP 7.2 および Red Hat Process Automation Manager 7.4 をダウンロードして展開する。
- Red Hat JBoss EAP 7.2 を Red Hat Data Grid 7.3.1 および AMQ Broker (Java メッセージサーバー (JMS) ブローカー) で設定する。
- クラスターを起動して、各クラスターノードで Business Central をインストールする。
Red Hat Data Grid は Infinispan のオープンソースソフトウェアプロジェクトで構築されています。Red Hat Data Grid は、スケーラビリティーに優れた全文検索と解析エンジンで、インデックス化の機能が含まれているので、大量のデータを素早くほぼリアルタイムに保存、検索、および解析できます。Red Hat Process Automation Manager のクラスター環境では、クラスターノード全体にわたる複雑な検索を効率的に実施できます。
JMS ブローカーは、ローカルでメッセージを受信して保存し、そのメッセージを受信者に転送するソフトウェアコンポーネントです。AMQ Broker を使用すると、アプリケーションがメッセージングプロバイダーと通信できます。また、メッセージ駆動型 Bean、Enterprise JavaBean、servlet などのコンポーネントがどのようにメッセージを送受信するかを指定します。
2.1. Red Hat Data Grid のインストールおよび設定
クラスターノード全体をより効率的に検索するために Red Hat Data Grid を使用するには、Red Hat Process Automation Manager のクラスター環境用に Red Hat Data Grid をインストールして設定する必要があります。以下の説明を使用して、高可用性ではなく、簡素化された環境を設定します。
Red Hat JBoss EAP の Red Hat Data Grid モジュールに関する情報は、『Red Hat Data Grid User Guide』の「Red Hat Data Grid modules for EAP」を参照してください。
前提条件
- Java 8.0 以降と互換性のある Java Virtual Machine (JVM) 環境がインストールされている。
-
バックアップを作成してある Red Hat JBoss EAP システム (バージョン 7.2 またはそれ以降) が利用できる。Red Hat JBoss EAP システムのベースディレクトリーを
EAP_HOME
とします。 - Red Hat Process Automation Manager をインストールして設定します。
- インストールを完了するのに必要なユーザーパーミッションが付与されている。
手順
Red Hat カスタマーポータルの Software Downloads ページに移動し (ログインが必要)、ドロップダウンオプションから製品およびバージョンを選択します。
- 製品: Data Grid
- バージョン: 7.3
お使いのシステムの任意の場所に、Red Hat JBoss Data Grid 7.3.0 Server (
jboss-datagrid-7.3.0-1-server.zip
) のインストールファイルをダウンロードします。展開したディレクトリーは、
JDG_HOME
となります。Red Hat Data Grid を実行するには、
JDG_HOME/bin
に移動して以下のコマンドの 1 つを入力します。Linux または UNIX ベースのシステムの場合:
$ ./standalone.sh -c clustered.xml
Windows の場合:
standalone.bat -c clustered.xml
2.2. AMQ Broker のダウンロードおよび設定
AMQ Broker により、アプリケーションがメッセージングプロバイダーに接続できるようになります。また、メッセージ駆動型 Bean、Enterprise JavaBean、servlet などのコンポーネントがどのようにメッセージを送受信するかを指定します。以下の説明を使用して、高可用性ではなく、簡素化された環境を設定します。
高可用性のRed Hat Process Automation Manager クラスター環境用の AMQ Broker を設定するには、「Using AMQ Broker」を参照してください。
手順
Red Hat カスタマーポータルの Software Downloads ページに移動し (ログインが必要)、ドロップダウンオプションから製品およびバージョンを選択します。
- 製品: 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 Process Automation Manager のダウンロードおよび展開
クラスターの各ノードで Red Hat JBoss EAP 7.2 および Red Hat Process Automation Manager 7.4 をダウンロードして、インストールします。
手順
クラスターの各ノードに Red Hat JBoss EAP 7.2 をインストールします。
Red Hat カスタマーポータルの Software Downloads ページに移動し (ログインが必要)、ドロップダウンオプションから製品およびバージョンを選択します。
- 製品: Enterprise Application Platform
- バージョン: 7.2
-
Red Hat JBoss Enterprise Application Platform 7.2.0 (
JBEAP-7.2.0/jboss-eap-7.2.0.zip
) の横にある Download をクリックします。
-
jboss-eap-7.2.0.zip
ファイルを展開します。以下の例では、EAP_HOME
をjboss-eap-7.2/jboss-eap-7.2
ディレクトリーとします。 - 最新の Red Hat JBoss EAP パッチが利用できる場合には、ダウンロードして適用します。
クラスターの各ノードで Red Hat Process Automation Manager をダウンロードします。
Red Hat カスタマーポータルの Software Downloads ページに移動し、ドロップダウンオプションから製品およびバージョンを選択します。
- 製品: Process Automation Manager
- バージョン: 7.4
-
Red Hat Process Automation Manager 7.4.0 Business Central Deployable for Red Hat JBoss EAP 7 (
rhpam-7.4.0-business-central-eap7-deployable.zip
) をダウンロードします。
-
rhpam-7.4.0-business-central-eap7-deployable.zip
ファイルを一時ディレクトリーに展開します。以下のコマンドでは、このディレクトリーをTEMP_DIR
とします。 -
TEMP_DIR/rhpam-7.4.0-business-central-eap7-deployable/jboss-eap-7.2
の内容をEAP_HOME
にコピーします。 - 最新の Red Hat Process Automation Manager のパッチが利用できる場合には、ダウンロードして適用します。
-
EAP_HOME/bin
ディレクトリーに移動します。 Business Central へのログインに使用する、
admin
ロール持つユーザーを作成します。以下のコマンドの<username>
および<password>
を、作成するユーザーとそのパスワードに置き換えます。$ ./add-user.sh -a --user <USERNAME> --password <PASSWORD> --role admin,rest-all
注記必ず、既存のユーザー、ロール、またはグループとは異なるユーザー名を指定してください。たとえば、
admin
という名前のユーザーは作成しないでください。パスワードは 8 文字以上で、数字と、英数字以外の文字をそれぞれ 1 文字以上使用する必要があります。ただし & の文字は使用できません。
Process Server にログインするのに使用する、
kie-server
ロールを持つユーザーを作成します。$ ./add-user.sh -a --user <USERNAME> --password <PASSWORD> --role kie-server
- ユーザー名とパスワードを書き留めておきます。
2.4. クラスターでの Business Central の設定および実行
Red Hat JBoss EAP と Business Central のインストール後に、Red Hat Data Grid と AMQ Broker を使用してクラスターを設定できます。
この手順では、基本的なクラスター設定を説明します。より詳細な設定は『Red Hat JBoss EAP 7.2 設定ガイド』を参照してください。
前提条件
- 「Red Hat Data Grid のインストールおよび設定」 の記載どおりに、Red Hat Data Grid 7.3.1 がインストールされている。
- 「AMQ Broker のダウンロードおよび設定」 の説明通りに AMQ Broker がインストールされ、設定されている。
- 「Red Hat JBoss EAP 7.2 および Red Hat Process Automation Manager のダウンロードおよび展開」の説明通りに、クラスターの各ノードに Red Hat JBoss EAP および Red Hat Process Automation 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 アドレスに置き換えます。 -
<SERVER_NAME>
is the server name specified in your Red Hat Data Grid server configuration. -
<SASL_QOP>
is the combination of auth, auth-int and auth-conf values for your Red Hat Data Grid server configuration. -
<INFINISPAN_NODE_IP>
は、Red Hat Data Grid のインストール先の IP アドレスに置き換えます。 -
<SHARED_NETWORK_FOLDER>
は、クラスター内の全 Business 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.infinispan.port" value="11222"/> <property name="org.appformer.ext.metadata.infinispan.host" value="<INFINISPAN_NODE_IP>"/> <property name="org.appformer.ext.metadata.infinispan.realm" value="ApplicationRealm"/> <property name="org.appformer.ext.metadata.infinispan.server.name" value="<SERVER_NAME>"/> <property name="org.appformer.ext.metadata.infinispan.sasl.qop" value="<SASL_QOP>"/> <property name="org.appformer.ext.metadata.infinispan.username" value=""/> <property name="org.appformer.ext.metadata.infinispan.password" value=""/> <property name="org.appformer.ext.metadata.infinispan.cluster" value="kie-cluster"/> <property name="org.appformer.ext.metadata.index" value="infinispan"/> <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 Process Automation Manager クラスターの検証
Red Hat Process Automation Manager を設定したら、アセットを作成してシステムが機能していることを検証します。
手順
-
Web ブラウザーで、
<node-IP-address>:8080/business-central
を入力します。.<node-IP-address>
は特定のノードの IP アドレスに置き換えます。 -
インストール時に作成した
admin
ユーザーの認証情報を入力します。Business Central ホームページが表示されます。 - Menu → Design → Projects の順に選択します。
- Try Samples → Mortgages → OK の順にクリックします。Assets ウィンドウが表示されます。
- Add Asset → Data Object をクリックします。
-
Data Object フィールドに
MyDataObject
を入力し、OK をクリックします。 -
Spaces → mySpace → Mortgages の順にクリックし、アセットリストに
MyDataObject
があることを確認します。 Web ブラウザーに以下の URL を入力します。
<node_IP_address>
には、クラスターの別のノードのアドレスに置き換えます。http://<node_IP_address>:8080/business-central
-
MyDataObject
アセットを作成した最初のノードの Business Central にログインするときに使用した認証情報と同じものを入力します。 - Menu → Design → Projects の順に選択します。
- Mortgages プロジェクトを選択します。
-
MyDataObject
がアセットリストにあることを確認します。 - Mortgages プロジェクトを選択します。
第3章 ランタイム環境における Process Server クラスター
ランタイム環境では、Process Server は、ビジネス上の決定をサポートするルールおよびプロセスが含まれるサービスを実行します。Process Server ランタイム環境をクラスタリングする主な利点は負荷分散です。クラスターのノードの 1 つでアクティビティーが増えると、そのアクティビティーはクラスターの残りのノードと共有されるため、パフォーマンスが改善します。
Process Server のクラスター化ランタイム環境を作成するには、Red Hat JBoss EAP 7.2 および Process Server をダウンロードして展開します。次に、クラスターに Red Hat JBoss EAP 7.2 を設定し、クラスターを起動し、各クラスターノードに Process Server をインストールします。
必要に応じて、ヘッドレス Process Automation Manager コントローラーおよび Smart Router のクラスター化を行います。
3.1. Red Hat JBoss EAP 7.2 および Process Server のダウンロードおよび展開
本セクションの手順を行い、Red Hat JBoss EAP 7.2 をダウンロードしてインストールし、クラスター環境にインストールするために Process Server をダウンロードして再パッケージ化します。
手順
クラスターの各ノードに Red Hat JBoss EAP 7.2 をインストールします。
Red Hat カスタマーポータルの Software Downloads ページに移動し (ログインが必要)、ドロップダウンオプションから製品およびバージョンを選択します。
- 製品: Red Hat JBoss EAP
- バージョン: 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.1/jboss-eap-7.1
ディレクトリーはEAP_HOME
とします。 - 最新の Red Hat JBoss EAP パッチが利用できる場合には、ダウンロードして適用します。
Process Server をダウンロードします。
Red Hat カスタマーポータルの Software Downloads ページに移動し、ドロップダウンオプションから製品およびバージョンを選択します。
- 製品: Process Automation Manager
- バージョン: 7.4
-
Red Hat Process Automation Manager 7.4.0 Process Server for All Supported EE8 Containers (
rhpam-7.4.0-kie-server-ee8.zip
) をダウンロードします。
-
rhpam-7.4.0-kie-server-ee8.zip
アーカイブを一時ディレクトリーに展開します。以下の例では、このディレクトリーをTEMP_DIR
とします。 TEMP_DIR/rhpam-7.4.0-kie-server-ee8/rhpam-7.4.0-kie-server-ee8/kie-server.war
ディレクトリーをEAP_HOME/standalone/deployments/
にコピーします。警告コピーする Red Hat Process Automation Manager デプロイメントの名前が、Red Hat JBoss EAP インスタンスの既存デプロイメントと競合しないことを確認します。
-
TEMP_DIR/rhpam-7.4.0-kie-server-ee8/rhpam-7.4.0-kie-server-ee8/SecurityPolicy/
ディレクトリーのコンテンツをEAP_HOME/bin
にコピーします。ファイルの上書きを確認するメッセージが表示されたら、Replace をクリックします。 -
EAP_HOME/standalone/deployments/
ディレクトリーに、kie-server.war.dodeploy
という名前で空のファイルを作成します。このファイルにより、サーバーが起動すると Process Server が自動的にデプロイされます。 - 最新の Red Hat Process Automation Manager のパッチが利用できる場合には、ダウンロードして適用します。
-
EAP_HOME/bin
ディレクトリーに移動します。 Process Server にログインするのに使用する、
kie-server
ロールを持つユーザーを作成します。$ ./add-user.sh -a --user <USERNAME> --password <PASSWORD> --role kie-server
- ユーザー名とパスワードを書き留めておきます。
3.2. Process Server 向けの Red Hat JBoss EAP 7.2 クラスターの設定および実行
Process Server 向けに Red Hat JBoss EAP クラスターを設定して、起動します。
手順
- JDBC ドライバーを、このクラスターの一部となる Red Hat JBoss EAP の全インスタンスにインストールします。詳細は『Red Hat JBoss EAP 7.2 設定ガイド』の「JDBC ドライバー」セクションを参照してください。
-
テキストエディターで
EAP_HOME/standalone/configuration/standalone-full.xml
ファイルを開きます。 data-stores
プロパティーと、その上のtimer-service thread-pool-name
を編集します。-
datasource-jndi-name
は、この手順の最初で指定したデータベースの JNDI 名です。 -
partition
プロパティーの値にはあらゆる名前を入力できますが、ノードには、同じパーティション名を持つその他のノードのタイマーのみが表示されます。パーティション名を割り当てて、パーティションでノードをグループ分けすると、大規模なクラスターを複数の小規模クラスターに分割できます。これによりパフォーマンスが改善します。たとえば、1 つのクラスターに 100 ノードがあり、100 ノードがすべて同じタイマーを実行して更新する場合は、ノードを 5 個ずつ分割して 20 個のクラスターを作成し、各クラスターに異なるパーティション名を指定することもできます。 -
default-data-store
属性値をejb_timer_ds
に置き換えます。 refresh-interval
の値をミリ秒で設定して、EJB タイマーがデータベースに接続して同期し、処理するタスクをロードする頻度を指定します。<timer-service thread-pool-name="default" default-data-store="ejb_timer_ds"> <data-stores> <database-data-store name="ejb_timer_ds" datasource-jndi-name="java:jboss/datasources/ejb_timer" database="postgresql" partition="ejb_timer_part" refresh-interval="30000"/> </data-stores> </timer-service>
以下の表は、サポートされるデータベースと、対応する
database
属性値を示しています。表3.1 サポートされているデータベース
データベース 属性値 Hyper SQL (デモを目的としており、サポートはされません)
hsql
PostgreSQL
postgresql
Oracle
oracle
IBM DB2
db2
Microsoft SQL Server
mssql
MySQL および MariaDB
mysql
-
Process Server および EJB タイマーデータソースを
standalone-full.xml
ファイルに追加します。この例では、<DATABASE>
はデータベース名、<SERVER_NAME>
は JNDI データベースのホスト名、<USER_NAME>
および<USER_PWD>
はそのデータベースの認証情報になります。以下のように、データソースを追加して、Process Server がデータベースに接続できるようにします。
<xa-datasource jndi-name="java:/jboss/datasources/rhpam" pool-name="rhpam-RHPAM" use-java-context="true" enabled="true"> <xa-datasource-property name="DatabaseName"><DATABASE></xa-datasource-property> <xa-datasource-property name="PortNumber">5432</xa-datasource-property> <xa-datasource-property name="ServerName"><SERVER_NAME></xa-datasource-property> <driver>postgresql</driver> <security> <user-name><USER_NAME></user-name> <password><USER_PWD></password> </security> </xa-datasource>
以下のように、EJB タイマーにデータソースを追加します。
<xa-datasource jndi-name="java:jboss/datasources/ejb_timer" pool-name="ejb_timer" use-java-context="true" enabled="true"> <xa-datasource-property name="DatabaseName"><DATABASE></xa-datasource-property> <xa-datasource-property name="PortNumber">5432</xa-datasource-property> <xa-datasource-property name="ServerName"><SERVER_NAME></xa-datasource-property> <driver>postgresql</driver> <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation> <security> <user-name><USER_NAME></user-name> <password><USER_PWD></password> </security> </xa-datasource>
警告Process Server ランタイムデータおよび EJB タイマーデータに、別のデータベースを使用する必要があります。
<system-properties>
要素に以下のプロパティーを追加し、以下のプレースホルダーを置き換えます。-
<JNDI_NAME>
は、データソースの JNDI 名です。Red Hat Process Automation Manager の場合はjava:/jboss/datasources/rhpam
です。 <DIALECT>
は、データベースの hibernate ダイアレクトです。以下の方言がサポートされます。
-
DB2:
org.hibernate.dialect.DB2Dialect
-
MSSQL:
org.hibernate.dialect.SQLServer2012Dialect
-
MySQL:
org.hibernate.dialect.MySQL5InnoDBDialect
-
MariaDB:
org.hibernate.dialect.MySQL5InnoDBDialect
-
Oracle:
org.hibernate.dialect.Oracle10gDialect
-
PostgreSQL:
org.hibernate.dialect.PostgreSQL82Dialect
PostgreSQL plus:
org.hibernate.dialect.PostgresPlusDialect
<system-properties> <property name="org.kie.server.persistence.ds" value="<JNDI_NAME>"/> <property name="org.kie.server.persistence.dialect" value="<DIALECT>"/> <property name="org.jbpm.ejb.timer.tx" value="true"/> </system-properties>
-
DB2:
-
-
standalone-full.xml
ファイルを保存します。 クラスターを起動するには
EAP_HOME/bin
に移動して、以下のコマンドの 1 つを入力します。Linux または UNIX ベースのシステムの場合:
$ ./standalone.sh -c standalone-full.xml
Windows の場合:
standalone.bat -c standalone-full.xml
3.3. ヘッドレス Process Automation Manager コントローラーを使用した Process Server のクラスタリング
Process Automation Manager コントローラーは Business Central と統合します。ただし、Business Central をインストールしない場合は、ヘッドレス Process Automation Manager コントローラーをインストールし、REST API または Process Server Java Client API を使用してそのコントローラーと対話します。
前提条件
-
バックアップを作成してある Red Hat JBoss EAP システム (バージョン 7.2 またはそれ以降) が利用できる。Red Hat JBoss EAP システムのベースディレクトリーを
EAP_HOME
とします。 - インストールを完了するのに必要なユーザーパーミッションが付与されている。
- マウントしたパーティションが存在する NFS サーバーが利用できる。
手順
Red Hat カスタマーポータルの Software Downloads ページに移動し (ログインが必要)、ドロップダウンオプションから製品およびバージョンを選択します。
- 製品: Process Automation Manager
- バージョン: 7.4
-
Red Hat Process Automation Manager 7.4.0 Add Ons (
rhpam-7.4.0-add-ons.zip
ファイル) をダウンロードします。 -
rhpam-7.4.0-add-ons.zip
ファイルを展開します。rhpam-7.4-controller-ee7.zip
ファイルは展開したディレクトリーにあります。 -
rhpam-7.4-controller-ee7
アーカイブを一時ディレクトリーに展開します。以下の例では、このディレクトリーをTEMP_DIR
とします。 TEMP_DIR/rhpam-7.4-controller-ee7/controller.war
ディレクトリーをEAP_HOME/standalone/deployments/
にコピーします。警告コピーするヘッドレス Process Automation Manager コントローラーデプロイメントの名前が、Red Hat JBoss EAP インスタンスの既存デプロイメントと競合しないことを確認します。
-
TEMP_DIR/rhpam-7.4-controller-ee7/SecurityPolicy/
ディレクトリーの内容をEAP_HOME/bin
にコピーします。ファイルの上書きを確認するメッセージが表示されたら、はい を選択します。 -
EAP_HOME/standalone/deployments/
ディレクトリーに、controller.war.dodeploy
という名前で空のファイルを作成します。このファイルにより、サーバーが起動するとヘッドレス Process Automation 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 に設定すると、テンプレートファイルへの変更の検出が、サーバーの再起動時に制限されます。ヘッドレス Process Automation Manager コントローラーを開始するには、
EAP_HOME/bin
に移動して、以下のコマンドを実行します。Linux または UNIX ベースのシステムの場合:
$ ./standalone.sh
Windows の場合:
standalone.bat
3.4. Smart Router を使用した Process Server のクラスタリング
Smart Router を使用すると、独立した複数の Process Server インスタンスを集約して 1 台のサーバーのように使用できます。個々の Process Server に要求を送信し、複数の Process Server からデータを集約できるため、インテリジェントなロードバランサーの役割を果たします。エイリアスを介して、Smart Router は Process Server へのプロキシーとなります。Smart Router は、以下のタスクを実行します。
- 1 つのクライアント要求で、さまざまなサーバーインスタンスの情報を収集する
- 特定の要求に対して適切なサーバーを見つける
- 複数のサーバーから応答を収集する
- 効果的な負荷分散を提供する
- 環境の変更を管理する (例: サーバーインスタンスの追加および削除)
- Process Automation Manager コントローラーへの登録の管理
本セクションでは、Smart Router をインストールして、Red Hat Process Automation Manager ランタイム環境で設定する方法を説明します。
Smart Router クラスターの負荷分散要求は、標準ロード負荷分散ツールを使用して外部的に管理する必要があります。
前提条件
- Red Hat JBoss EAP 7.2 クラスターの各ノードに Process Server がインストールされている。
手順
Red Hat カスタマーポータルの Software Downloads ページに移動し (ログインが必要)、ドロップダウンオプションから製品およびバージョンを選択します。
- 製品: Process Automation Manager
- バージョン: 7.4
- Red Hat Process Automation Manager 7.4.0 Add-Ons をダウンロードします。
-
ダウンロードした
rhpam-7.4.0-add-ons.zip
ファイルを一時ディレクトリーに展開します。rhpam-7.4-smart-router.jar
ファイルは展開したrhpam-7.4.0-add-ons
ディレクトリーにあります。 -
rhpam-7.0-smart-router.jar
ファイルを、ファイルを実行するディレクトリーにコピーします。 一時ディレクトリーから、以下のコマンドを実行して SmartRouter を起動します。
java -Dorg.kie.server.router.host=<ROUTER_HOST> -Dorg.kie.server.router.port=<ROUTER_PORT> -Dorg.kie.server.controller=<CONTROLLER_URL> -Dorg.kie.server.controller.user=<CONTROLLER_USER> -Dorg.kie.server.controller.pwd=<CONTROLLER_PWD> -Dorg.kie.server.router.config.watcher.enabled=true -Dorg.kie.server.router.repo=<NFS_STORAGE> -jar rhpam-7.0-smart-router.jar
上のコマンドのプロパティーのデフォルト値は、以下のようになります。
org.kie.server.router.host=localhost org.kie.server.router.port=9000 org.kie.server.controller= N/A org.kie.server.controller.user=kieserver org.kie.server.controller.pwd=kieserver1! org.kie.server.router.repo= <CURRENT_WORKING_DIR> org.kie.server.router.config.watcher.enabled=false
注記ルーターは、集約ソートを提供しますが、管理コンソールを介して使用する場合に返されるデータは raw フォーマットになります。したがって、ソートは、個々のサーバーがどのように返すかを示します。
ページングは、標準フォーマットでサポートされます。
クライアント側から Smart Router を使用するには、以下のように、Process Server の URL の代わりに Smart Router の URL を使用します。
KieServicesConfiguration config = KieServicesFactory.newRestConfiguration("http://smartrouter.example.com:9000", "USERNAME", "PASSWORD");
この例では、
smartrouter.example.com
は Smart Router URL で、USERNAME
およびPASSWORD
は、Smart Router 設定のログイン認証情報です。
第4章 Quartz タイマーサービスの設定
クラスターで Process Serverを実行する場合には、Quartz タイマーサービスを設定する必要があります。
アプリケーションサーバーでデータベースを設定する前に、Quartz テーブルを作成するために Quarts データベースを準備する必要があります。このデータベースで、タイマーデータと Quartz 定義ファイルを保持します。
前提条件
- サポートのある JTA 以外のデータソース (例: PostgreSQLデータソースなど) は、アプリケーションサーバーに接続されます。
手順
データベースに Quartz テーブルを作成し、お使いのデータベース用の DDL スクリプトを使用してタイマーイベントが同期できるようにします。
DDL スクリプトは、
QUARTZ_HOME/docs/dbTables
に展開した、補足用の Zip アーカイブにあります。Quartz 設定ファイルを
JBOSS_HOME/MODE/configuration/
ディレクトリーのquartz-definition.properties
に作成して、以下のサンプルコンテンツを追加します。#========================================================================= # Configure Main Scheduler Properties #========================================================================= org.quartz.scheduler.instanceName = jBPMClusteredScheduler org.quartz.scheduler.instanceId = AUTO #========================================================================= # Configure ThreadPool #========================================================================= org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool org.quartz.threadPool.threadCount = 5 org.quartz.threadPool.threadPriority = 5 #========================================================================= # Configure JobStore #========================================================================= org.quartz.jobStore.misfireThreshold = 60000 org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreCMT org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.PostgreSQLDelegate org.quartz.jobStore.useProperties=false org.quartz.jobStore.dataSource=managedDS org.quartz.jobStore.nonManagedTXDataSource=notManagedDS org.quartz.jobStore.tablePrefix=QRTZ_ org.quartz.jobStore.isClustered=true org.quartz.jobStore.clusterCheckinInterval = 20000 #========================================================================= # Configure Datasources #========================================================================= org.quartz.dataSource.managedDS.jndiURL=jboss/datasources/psbpmsDS org.quartz.dataSource.notManagedDS.jndiURL=jboss/datasources/quartzNotManagedDS # Note the configured data sources that accommodate the two Quartz schemes at the very end of the file.
重要推奨されるクラスター検出の間隔は 20 秒で、
quartz-definition.properties
ファイルのorg.quartz.jobStore.clusterCheckinInterval
属性に設定されています。システムへのパフォーマンスの影響を考慮し、必要に応じて設定を変更してください。-
org.quartz.properties
プロパティーのquartz-definition.properties
ファイルに絶対パスを指定します。 オプション: Quartz トリガーの再試行回数と遅延を設定するには、次のシステムプロパティーを更新します。
-
org.jbpm.timer.quartz.retries
(デフォルト値は 5) -
org.jbpm.timer.quartz.delay
(ミリ秒単位、デフォルト値は 1000)
-
デフォルトでは、Quartz には 2 つのデータソースが必要です。
- プロセスエンジンのトランザクションに参加する管理対象データソース。
- タイマーを検索してトランザクション処理を行わずにトリガーする管理対象外のデータソース。
Red Hat Process Automation Manager ビジネスアプリケーションでは、Quartz データベース (スキーマ) が Red Hat Process Automation Manager テーブルと共存することを想定しているので、Quartz のトランザクション操作に使用するデータソースを生成します。
他の (トランザクション以外) データソースを設定する必要がありますが、主なデータソースと同じデータベースを参照する必要があります。
第5章 関連資料
- 『Red Hat JBoss EAP 7.2 への Red Hat Process Automation Manager のインストールおよび設定』
- 『Red Hat Process Automation Manager インストールの計画』
- 『Red Hat OpenShift Container Platform への Red Hat Process Automation Manager イミュータブルサーバー環境のデプロイメント』
- 『Red Hat OpenShift Container Platform への Red Hat Process Automation Manager オーサリング環境のデプロイメント』
- 『Red Hat OpenShift Container Platform への Red Hat Process Automation Manager freeform で管理するサーバー環境のデプロイメント』
- 『Automation Broker を使用した Red Hat OpenShift Container Platform への Red Hat Process Automation Manager 環境のデプロイメント』
- 『Operators を使用した Red Hat OpenShift Container Platform への Red Hat Process Automation Manager 環境のデプロイメント』
付録A バージョン情報
Documentation last updated on Monday, August 12, 2019.