Installing and configuring Red Hat Decision Manager in a Red Hat JBoss EAP clustered environment
Abstract
Preface
As a system engineer, you can create a Red Hat Decision Manager clustered environment to provide high availability and load balancing for your development and runtime environments.
Prerequisites
- You have reviewed the information in Planning a Red Hat Decision Manager installation.
Chapter 1. Red Hat Decision Manager clusters
By clustering two or more computers, you have the benefits of high availability, enhanced collaboration, and load balancing. High availability decreases the chance of a loss of data when a single computer fails. When a computer fails, another computer fills the gap by providing a copy of the data that was on the failed computer. When the failed computer comes online again, it resumes its place in the cluster. Load balancing shares the computing load across the nodes of the cluster. Doing this improves the overall performance.
There are several ways that you can cluster Red Hat Decision Manager components. This document describes how to cluster the following scenarios:
Chapter 2. Red Hat Decision Manager clusters in a development (authoring) environment
Configuration of Business Central for high availability is currently technology preview.
You can configure Red Hat Decision Manager as a clustered development environment to benefit from high availability. With a clustered environment, if a developer is working on $node1
and that node fails, that developer’s work is preserved and visible on any other node of the cluster.
Most development environments consist of Business Central and at least one KIE Server .
To create a Red Hat Decision Manager clustered development environment, you must perform the following tasks:
- Configure Red Hat JBoss EAP 7.3 with Red Hat Data Grid 7.3 on a machine.
- Configure AMQ Broker, a Java messaging server (JMS) broker, on a machine.
- Configure an NFS file server on a machine.
- Download Red Hat JBoss EAP 7.3 and Red Hat Decision Manager 7.8, then install them on each machine that is to become a cluster node.
- Configure and start Business Central on each cluster node to start the operation of the cluster.
Red Hat Data Grid is built from the Infinispan open-source software project. It is a distributed in-memory key/value data store that has indexing capabilities that enable you to store, search, and analyze high volumes of data quickly and in near-real time. In a Red Hat Decision Manager clustered environment, it enables you to perform complex and efficient searches across cluster nodes.
A JMS broker is a software component that receives messages, stores them locally, and forwards the messages to a recipient. AMQ Broker enables your applications to communicate with any messaging provider. It specifies how components such as message-driven beans, Enterprise JavaBeans, and servlets can send or receive messages.
2.1. Installing and configuring Red Hat Data Grid
Install and configure Red Hat Data Grid for the Red Hat Decision Manager clustered environment for more efficient searching across cluster nodes.
Use the following instructions to configure a simplified, non-high availability environment on a separate machine.
For information about advanced installation and configuration options, and Red Hat Data Grid modules for Red Hat JBoss EAP, see the Red Hat Data Grid User Guide.
Do not install Red Hat Data Grid on the same node as Business Central.
Prerequisites
- A Java Virtual Machine (JVM) environment compatible with Java 8.0 or later is installed.
-
A backed-up Red Hat JBoss EAP installation version 7.3 or higher is available. The base directory of the Red Hat JBoss EAP installation is referred to as
EAP_HOME
. - Red Hat Decision Manager is installed and configured.
- Sufficient user permissions to complete the installation are granted.
Procedure
Navigate to the Software Downloads page in the Red Hat Customer Portal (login required), and select the product and version from the drop-down options:
- Product: Data Grid
- Version: 7.3
Download and unzip the Red Hat JBoss Data Grid 7.3.0 Server (
jboss-datagrid-7.3.0-1-server.zip
) installation file to the preferred location on your system.The unzipped directory is referred to as
JDG_HOME
.To run Red Hat Data Grid, navigate to
JDG_HOME/bin
and enter one of the following commands:On Linux or UNIX-based systems:
$ ./standalone.sh -c clustered.xml
On Windows:
standalone.bat -c clustered.xml
NoteUpdating Red Hat Data Grid to the latest version is recommended. For more information, see Red Hat Data Grid Red Hat Data Grid User Guide.
2.2. Downloading and configuring AMQ Broker
Red Hat AMQ Broker enables your applications to communicate with any messaging provider. It specifies how components such as message-driven beans, Enterprise JavaBeans, and servlets can send or receive messages.
To configure AMQ Broker for a high availability Red Hat Decision Manager clustered environment, see Getting started with AMQ Broker.
You can use the following procedure to configure a simplified, non-high availability environment.
Procedure
Navigate to the Software Downloads page in the Red Hat Customer Portal (login required), and select the product and version from the drop-down options:
- Product: AMQ Broker
- Version: 7.5.0
-
Click Download next to Red Hat AMQ Broker 7.5.0 (
amq-broker-7.5.0-bin.zip
). -
Extract the
amq-broker-7.5.0-bin.zip
file. -
Change directory to
amq-broker-7.5.0-bin/amq-broker-7.5.0/bin
. Enter the following command and replace the following placeholders to create the broker and broker user:
-
<HOST>
is the IP address or host name of the server where you installed AMQ Broker. -
<AMQ_USER>
and<AMQ_PASSWORD>
is a user name and password combination of your choice. <BROKER_NAME>
is a name for the broker that you are creating../artemis create --host <HOST> --user <AMQ_USER> --password <AMQ_PASSWORD> --require-login <BROKER_NAME>
-
To run AMQ Broker, enter the following command in the
amq-broker-7.5.0-bin/amq-broker-7.5.0/bin
directory:amq-broker-7.5.0/bin/<BROKER_NAME>/bin/artemis run
2.3. Configuring an NFS server
A shared file system is required for a Business Central clustered environment and each client node must have access to the shared file system.
You must deploy and configure an NFS version 4 server.
Procedure
- Configure a server to export NFS version 4 shares. For instructions about exporting NFS shares on Red Hat Enterprise Linux, see Exporting NFS shares in Managing file systems. For more information about creating the NFS server, see How to configure NFS in RHEL 7.
On the server, create an
/opt/kie/data
share with therw,sync,no_root_squash
options by adding the following line to the/etc/exports
file:/opt/kie/data *(rw,sync,no_root_squash)
In this example,
/opt/kie/data
is the shared folder,*
are the IP addresses allowed to connect to the NFS server, and(rw,sync,no_root_squash)
are the minimum options required for NFS. For example:/opt/kie/data 192.268.1.0/24(rw,sync,no_root_squash)
NoteYou can use another share name instead of '/opt/kie/data'. In this case, you must use this name when configuring all nodes that run Business Central.
On each client node, mount the shared folder in an existing directory:
# mount <SERVER_IP>:/opt/kie/data /opt/kie/data/niogit
Add the following properties to the
standalone-full-ha.xml
file to bind the.niogit
andmaven-repository
directories as nfs shared folders:<property name="org.uberfire.nio.git.dir" value="/opt/kie/data/niogit"/> <property name="org.guvnor.m2repo.dir" value="/opt/kie/data/maven-repository"/>
2.4. Downloading and extracting Red Hat JBoss EAP 7.3 and Red Hat Decision Manager
Download and install Red Hat JBoss EAP 7.3 and Red Hat Decision Manager 7.8 on each node of the cluster.
Procedure
Download Red Hat JBoss EAP 7.3 on each node of the cluster:
Navigate to the Software Downloads page in the Red Hat Customer Portal (login required), and select the product and version from the drop-down options:
- Product: Enterprise Application Platform
- Version: 7.3
-
Click Download next to Red Hat JBoss Enterprise Application Platform 7.3.0. (
JBEAP-7.3.0/jboss-eap-7.3.0.zip
).
-
Extract the
jboss-eap-7.3.0.zip
file. In the following steps,EAP_HOME
is thejboss-eap-7.3/jboss-eap-7.3
directory. - Download and apply the latest Red Hat JBoss EAP patch, if available.
Download Red Hat Decision Manager on each node of the cluster:
Navigate to the Software Downloads page in the Red Hat Customer Portal, and select the product and version from the drop-down options:
- Product: Decision Manager
- Version: 7.8
-
Download Red Hat Decision Manager 7.8.0 Business Central Deployable for Red Hat JBoss EAP 7 (
rhdm-7.8.0-decision-central-eap7-deployable.zip
).
-
Extract the
rhdm-7.8.0-decision-central-eap7-deployable.zip
file to a temporary directory. In the following commands this directory is calledTEMP_DIR
. -
Copy the contents of
TEMP_DIR/rhdm-7.8.0-decision-central-eap7-deployable/jboss-eap-7.3
toEAP_HOME
. - Download and apply the latest Red Hat Decision Manager patch, if available.
-
Navigate to the
EAP_HOME/bin
directory. Create a user with the
admin
role that you will use to log in to Business Central. In the following command, replace<username>
and<password>
with the user name and password of your choice.$ ./add-user.sh -a --user <USERNAME> --password <PASSWORD> --role admin
NoteMake sure that the specified user name is not the same as an existing user, role, or group. For example, do not create a user with the user name
admin
.The password must have at least eight characters and must contain at least one number and one non-alphanumeric character, but not & (ampersand).
You must use LDAP or RH-SSO for high availability environments. For more information, see the Red Hat Single Sign-On Server Administration Guide.
Create a user with the
kie-server
role that you will use to log in to KIE Server.$ ./add-user.sh -a --user <USERNAME> --password <PASSWORD> --role kie-server
- Make a note of your user names and passwords.
2.5. Configuring and running Business Central in a cluster
After you install Red Hat JBoss EAP and Business Central you can use Red Hat Data Grid and the AMQ Broker to configure the cluster. Complete these steps on each node of the cluster.
These steps describe a basic cluster configuration. For more complex configurations, see the Red Hat JBoss EAP 7.3 Configuration Guide.
Prerequisites
- Red Hat Data Grid 7.3 is installed as described in Section 2.1, “Installing and configuring Red Hat Data Grid”.
- AMQ Broker is installed and configured, as described in Section 2.2, “Downloading and configuring AMQ Broker”.
- Red Hat JBoss EAP and Red Hat Decision Manager are installed on each node of the cluster as described in Section 2.4, “Downloading and extracting Red Hat JBoss EAP 7.3 and Red Hat Decision Manager”.
- An NFS server with a mounted partition is available as described in Section 2.3, “Configuring an NFS server”.
Procedure
Mount the directory shared over NFS as
/data
. Enter the following commands as the root user:mkdir /data mount <NFS_SERVER_IP>:<DATA_SHARE> /data
Replace <NFS_SERVER_IP> with the IP address or hostname of the NFS server machine. Replace <DATA_SHARE> with the share name that you configured (for example,
/opt/kie/data
).-
Open the
EAP_HOME/standalone/configuration/standalone-full.xml
file in a text editor. Edit or add the properties under the
<system-properties>
element and replace the following placeholders:-
<AMQ_USER>
and<AMQ_PASSWORD>
are the credentials that you defined when creating the AMQ Broker. -
<AMQ_BROKER_IP_ADDRESS>
is the IP address of the AMQ Broker. <INFINISPAN_NODE_IP>
is the IP address where Red Hat Data Grid is installed.<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.cluster" value="kie-cluster"/> <property name="org.appformer.ext.metadata.index" value="infinispan"/> <property name="org.uberfire.nio.git.dir" value="/data"/> <property name="es.set.netty.runtime.available.processors" value="false"/> </system-properties>
-
Optional: If the Red Hat Data Grid deployment requires authentication, edit or add the properties under the
<system-properties>
element and replace the following placeholders:-
<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.<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=""/>
-
-
Save the
standalone-full.xml
file. To start the cluster, navigate to
EAP_HOME/bin
and enter one of the following commands:On Linux or UNIX-based systems:
$ ./standalone.sh -c standalone-full.xml
On Windows:
standalone.bat -c standalone-full.xml
2.6. Verifying the Red Hat Decision Manager cluster
After configuring the cluster for Red Hat Decision Manager, create an asset to verify that the installation is working.
Procedure
-
In a web browser, enter
<node-IP-address>:8080/decision-central
. Replace<node-IP-address>
with the IP address of a particular node. -
Enter the
admin
user credentials that you created during installation. The Business Central home page appears. - Select Menu → Design → Projects.
- Open the MySpace space.
- Click Try Samples → Mortgages → OK. The Assets window appears.
- Click Add Asset → Data Object.
-
Enter
MyDataObject
in the Data Object field and click OK. -
Click Spaces → MySpace → Mortgages and confirm that
MyDataObject
is in the list of assets. Enter the following URL in a web browser, where
<node_IP_address>
is the address of a different node of the cluster:http://<node_IP_address>:8080/decision-central
-
Enter the same credentials that you used to log in to Business Central on the first node, where you created the
MyDataObject
asset. - Select Menu→ Design → Projects.
- Open the MySpace space.
- Select the Mortgages project.
-
Verify that
MyDataObject
is in the asset list. - Delete the Mortgages project.
Chapter 3. KIE Server clusters in a runtime environment
The primary benefit of clustering a KIE Server runtime environment is load balancing. If activity on one node of the cluster increases, that activity can be shared among the other nodes of the cluster to improve performance.
To create a KIE Server clustered runtime environment, you download and extract Red Hat JBoss EAP 7.3 and KIE Server. Then, you configure Red Hat JBoss EAP 7.3 for a cluster, start the cluster, and install KIE Server on each cluster node.
Optionally, you can then cluster the headless Decision Manager controller.
3.1. Downloading and extracting Red Hat JBoss EAP 7.3 and KIE Server
Complete the steps in this section to download and install Red Hat JBoss EAP 7.3 and KIE Server for installation in a clustered environment.
Procedure
Download Red Hat JBoss EAP 7.3 on each node of the cluster:
Navigate to the Software Downloads page in the Red Hat Customer Portal (login required) and select the product and version from the drop-down options:
- Product: Red Hat JBoss EAP
- Version: 7.3
-
Click Download next to Red Hat JBoss Enterprise Application Platform 7.3.0. (
jboss-eap-7.3.0.zip
).
-
Extract the
jboss-eap-7.3.0.zip
file. Thejboss-eap-7.3/jboss-eap-7.3
directory is referred to asEAP_HOME
. - Download and apply the latest Red Hat JBoss EAP patch, if available.
Download KIE Server:
Navigate to the Software Downloads page in the Red Hat Customer Portal and select the product and version from the drop-down options:
- Product: Decision Manager
- Version: 7.8
-
Download Red Hat Decision Manager 7.8.0 KIE Server for All Supported EE8 Containers (
rhdm-7.8.0-kie-server-ee8.zip
).
-
Extract the
rhdm-7.8.0-kie-server-ee8.zip
archive to a temporary directory. In the following examples this directory is calledTEMP_DIR
. Copy the
TEMP_DIR/rhdm-7.8.0-kie-server-ee8/rhdm-7.8.0-kie-server-ee8/kie-server.war
directory toEAP_HOME/standalone/deployments/
.WarningEnsure the names of the Red Hat Decision Manager deployments you copy do not conflict with your existing deployments in the Red Hat JBoss EAP instance.
-
Copy the contents of the
TEMP_DIR/rhdm-7.8.0-kie-server-ee8/rhdm-7.8.0-kie-server-ee8/SecurityPolicy/
toEAP_HOME/bin
. When asked to overwrite files, click Replace. -
In the
EAP_HOME/standalone/deployments/
directory, create an empty file namedkie-server.war.dodeploy
. This file ensures that KIE Server is automatically deployed when the server starts. - Download and apply the latest Red Hat Decision Manager patch, if available.
-
Navigate to the
EAP_HOME/bin
directory. Create a user with the
kie-server
role that you will use to log in to KIE Server.$ ./add-user.sh -a --user <USERNAME> --password <PASSWORD> --role kie-server
- Make a note of your user names and passwords.
To start the cluster, navigate to
EAP_HOME/bin
and enter one of the following commands:On Linux or UNIX-based systems:
$ ./standalone.sh -c standalone-full.xml
On Windows:
standalone.bat -c standalone-full.xml
3.2. Clustering KIE Servers with the headless Decision Manager controller
The Decision Manager controller is integrated with Business Central. However, if you do not install Business Central, you can install the headless Decision Manager controller and use the REST API or the KIE Server Java Client API to interact with it.
Prerequisites
-
A backed-up Red Hat JBoss EAP installation version 7.3 or later is available. The base directory of the Red Hat JBoss EAP installation is referred to as
EAP_HOME
. - Sufficient user permissions to complete the installation are granted.
- An NFS server with a mounted partition is available as described in Section 2.3, “Configuring an NFS server”.
Procedure
Navigate to the Software Downloads page in the Red Hat Customer Portal (login required), and select the product and version from the drop-down options:
- Product: Decision Manager
- Version: 7.8
-
Download Red Hat Decision Manager 7.8.0 Add Ons (the
rhdm-7.8.0-add-ons.zip
file). -
Unzip the
rhdm-7.8.0-add-ons.zip
file. Therhdm-7.8.0-controller-ee7.zip
file is in the unzipped directory. -
Extract the
rhdm-7.8.0-controller-ee7
archive to a temporary directory. In the following examples this directory is calledTEMP_DIR
. Copy the
TEMP_DIR/rhdm-7.8.0-controller-ee7/controller.war
directory toEAP_HOME/standalone/deployments/
.WarningEnsure that the names of the headless Decision Manager controller deployments you copy do not conflict with your existing deployments in the Red Hat JBoss EAP instance.
-
Copy the contents of the
TEMP_DIR/rhdm-7.8.0-controller-ee7/SecurityPolicy/
directory toEAP_HOME/bin
. When asked to overwrite files, select Yes. -
In the
EAP_HOME/standalone/deployments/
directory, create an empty file namedcontroller.war.dodeploy
. This file ensures that the headless Decision Manager controller is automatically deployed when the server starts. -
Open the
EAP_HOME/standalone/configuration/standalone.xml
file in a text editor. Add the following properties to the
<system-properties>
element and replace<NFS_STORAGE>
with the absolute path to the NFS storage where the template configuration is stored:<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>
Template files contain default configurations for specific deployment scenarios.
If the value of the
org.kie.server.controller.templatefile.watcher.enabled
property is set to true, a separate thread is started to watch for modifications of the template file. The default interval for these checks is 30000 milliseconds and can be further controlled by theorg.kie.server.controller.templatefile.watcher.interval
system property. If the value of this property is set to false, changes to the template file are detected only when the server restarts.To start the headless Decision Manager controller, navigate to
EAP_HOME/bin
and enter the following command:On Linux or UNIX-based systems:
$ ./standalone.sh
On Windows:
standalone.bat
Chapter 4. Additional resources
- Installing and configuring Red Hat Decision Manager on Red Hat JBoss EAP 7.3
- Planning a Red Hat Decision Manager installation
- Deploying a Red Hat Decision Manager immutable server environment on Red Hat OpenShift Container Platform
- Deploying a Red Hat Decision Manager authoring or managed server environment on Red Hat OpenShift Container Platform
- Deploying a Red Hat Decision Manager environment on Red Hat OpenShift Container Platform using Operators
Appendix A. Versioning information
Documentation last updated on Thursday, September 08, 2020.