-
Language:
English
-
Language:
English
Red Hat Training
A Red Hat training course is available for Red Hat Decision Manager
Installing and configuring Red Hat Decision Manager in a Red Hat JBoss EAP 7.1 clustered environment
Red Hat Customer Content Services
brms-docs@redhat.com
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.
Prerequisite
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 in domain mode:
Chapter 2. Domain mode clusters
You can centrally store, manage, and publish configurations for your servers by using domain mode with a cluster. This section explains key concepts in domain mode clustering.
Domain controller: The domain controller is responsible for storing, managing, and publishing the general configuration for each node in the cluster. It is the central point from which nodes in a cluster obtain their configuration. The node that runs the domain controller is referred to as the master node and the other nodes of the cluster are referred to as slave nodes. The domain controller is configured with the domain.xml
file.
Host controller: The host controller manages server instances on a specific node. You configure it to run one or more server instances. The domain controller can also interact with the host controllers on each system to manage the cluster. To reduce the number of running processes, a domain controller also acts as a host controller on the system it runs on. On slave nodes, the host controller is configured with the host.xml
file.
Domain profile: A domain profile is a named configuration that a server can use to boot from. A domain controller can define multiple domain profiles that are consumed by different servers.
Server group: A server group is a set of server instances that are managed and configured together. You can manage configurations, deployments, socket bindings, modules, extensions, and system properties for each server group. You can assign a domain profile to a server group and every service in that group will use that domain profile as their configuration.
In domain mode, a domain controller is started on the master node of the cluster. The configuration for the cluster is located in the domain controller. Next, a host controller is started on all of slave nodes of the cluster. Each host controller deployment configuration specifies how many server instances will be started on that system. When the host controller boots up, it starts as many server instances as it was configured to do. These server instances pull their configuration from the domain controller.
Chapter 3. Red Hat Decision Manager clusters in a development (authoring) environment
The primary benefit of clustering Red Hat Decision Manager development environments is high availability. If clustering is configured and Developer X is working on Node1 and that node fails, Developer X’s work is preserved and visible on any other node of the cluster.
Most development environments consist of Decision Central and at least one Decision Server .
You can also use this configuration for runtime environments if you want to use Decision Central to manage the Decision Servers in the cluster.
To create a Red Hat Decision Manager clustered development environment, you download and extract Red Hat JBoss EAP 7.1 and Red Hat Decision Manager 7.1. Then, you configure Red Hat JBoss EAP 7.1 for a domain-mode cluster, including Elasticsearch and the Java messaging server (JMS) broker resource adapter integrated with Red Hat JBoss EAP. Finally, you start the cluster and install Decision Central on each cluster node.
Elasticsearch is a highly scalable open source full-text search and analytics engine. It enables 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.
The JMS broker resource adapter 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.
3.1. Installing and configuring Elasticsearch
To use Elasticsearch for more efficient searching across cluster nodes, you must install and configure Elasticsearch for the Red Hat Decision Manager clustered environment. Use the following instructions to configure a simplified, non-high availability environment.
To configure Elasticsearch for a high availability Red Hat Decision Manager clustered environment, see the Elasticsearch documentation.
Procedure
- Download and unzip the Elasticsearch installation file.
Replace the contents of the
elasticsearch/config/elasticsearch.yml
file with the following content, where<ELASTICSEARCH_NODE_IP>
is the IP address of the system where you unzipped the Elasticsearch file:cluster.name: kie-cluster transport.host: <ELASTICSEARCH_NODE_IP> http.host: <ELASTICSEARCH_NODE_IP> transport.tcp.port: 9300 discovery.zen.minimum_master_nodes: 1
Run Elasticsearch:
On Linux or UNIX-based systems, enter:
ELASTICSEARCH_HOME_/bin/elasticsearch
On Windows, enter:
ELASTICSEARCH_HOME\bin\elasticsearch.bat
3.2. Downloading and extracting Red Hat JBoss EAP 7.1 and Red Hat Decision Manager
Complete the steps in this section to download and install Red Hat JBoss EAP 7.1 and download and repackage Red Hat Decision Manager 7.1 for installation in a clustered environment.
Procedure
Install Red Hat JBoss EAP 7.1 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.1
-
Click Download next to Red Hat JBoss Enterprise Application Platform 7.1.0. (
JBEAP-7.1.0/jboss-eap-7.1.0.zip
). -
Extract the
jboss-eap-7.1.0.zip
file. In the following steps,EAP_HOME
is thejboss-eap-7.1/jboss-eap-7.1
directory.
On the cluster node where the Red Hat JBoss EAP domain controller will be started (the master node), 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.1
-
Download Red Hat Decision Manager 7.1.0 Decision Central Deployable for Red Hat JBoss EAP 7 (
rhdm-7.1.0-decision-central-eap7-deployable.zip
). -
Extract the
rhdm-7.1.0-decision-central-eap7-deployable.zip
file to a temporary directory. In the following commands this directory is calledTEMP_DIR
. -
Open the
TEMP_DIR/rhdm-7.1.0-decision-central-eap7-deployable/jboss-eap-7.1/standalone/deployments/decision-central.war/WEB-INF/web.xml/
file, uncomment the<distributable/>
tag, and save theweb.xml
file. -
Copy the contents of
TEMP_DIR/rhdm-7.1.0-decision-central-eap7-deployable/jboss-eap-7.1
toEAP_HOME
. Repackage the
decision-central.war
file:-
Navigate to the
TEMP_DIR/rhdm-7.1.0-decision-central-eap7-deployable/jboss-eap-7.1/standalone/deployments/decision-central.war
directory. -
Select the contents of the
TEMP_DIR/rhdm-7.1.0-decision-central-eap7-deployable/jboss-eap-7.1/standalone/deployments/decision-central.war
directory and create thedecision-central.zip
file. -
Rename
decision-central.zip
todecision-central.war
. This is the file that you will use to deploy Decision Central on the cluster nodes. -
If desired, copy the new
decision-central.war
file to a location that is more convenient to deploy from.
-
Navigate to the
3.3. Configuring a Red Hat JBoss EAP 7.1 domain-mode cluster for Decision Central
Configure the Decision Central cluster in domain mode with Elasticsearch and the JMS broker resource adapter integrated with Red Hat JBoss EAP. By using domain mode with a cluster, you can centrally manage and publish configurations for your servers.
These steps describe a basic cluster configuration. For more complex configurations, see the Red Hat JBoss EAP 7.1 Configuration Guide.
Prerequisites
- Elasticsearch is installed as described in Section 3.1, “Installing and configuring Elasticsearch”.
- Red Hat JBoss EAP is installed on each node of the cluster as described in Section 3.2, “Downloading and extracting Red Hat JBoss EAP 7.1 and Red Hat Decision Manager”.
- An NFS server with a mounted partition is available.
Procedure
-
On the the master node of the cluster (where you will run the domain controller), open the
EAP_HOME/domain/configuration/domain.xml
file in a text editor. Make the following changes for each server group in the
server-groups
element:-
Specify the
server-group name
andjvm
name. -
To enable high availability, change the
profile
to"full-ha"
and thesocket-binding-group
to"full-ha-sockets"
. To prevent Decision Central from running out of memory, increase the JVM maximum heap size to
1500m
.<server-group name="some-server-group" profile="full-ha"> <jvm name="some-jvm"> <heap size="1000m" max-size="1500m"/> </jvm> <socket-binding-group ref="full-ha-sockets"/> </server-group>
-
Specify the
Edit or add the following properties to the
<system-properties>
element and replace the following placeholders:-
<ELASTICSEARCH_NODE_IP>
is the IP addresses where Elasticseach is installed. -
<JMS_USER>
is a Red Hat JBoss EAP application user. It is the user that Decision Central uses to connect to the embedded JMS broker. <JMS_USER_PASSWORD>
is the password for<JMS_USER>
.<system-properties> <property name="appformer-jms-connection-mode" value="JNDI"/> <property name="appformer-jms-username" value="<JMS_USER> "/> <property name="appformer-jms-password" value="<JMS_USER_PASSWORD>"/> <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="appformer-jms-connection-factory" value="java:/ConnectionFactory"/> </system-properties>
-
In the
<subsystem xmlns="urn:jboss:domain:messaging-activemq:2.0">
element, make the following changes:-
Replace
<cluster password="${jboss.messaging.cluster.password:CHANGE ME!!}"/>
with<cluster user="<CLUSTER_USER>" password="<CLUSTER_PWD>"/>
where<CLUSTER_USER>
is the user used by Red Hat JBoss EAP to form a messaging cluster and<CLUSTER_PWD>
is the password for that user. In the
security-setting
element , add the role of the<JMS_USER>
to a newrole-name
element, for example:<security-setting name="#"> <role name="guest" send="true" consume="true" create-non-durable-queue="true" delete-non-durable-queue="true"/> <role name="admin" send="true" consume="true" create-non-durable-queue="true" delete-non-durable-queue="true"/> </security-setting>
-
Replace
-
Save the
domain.xml
file.
3.4. Configuring Red Hat JBoss EAP 7.1 host files for a Decision Central clustered environment
After you have installed Red Hat JBoss EAP and configured the domain.xml
file for a Decision Central clustered environment, complete these steps in the host.xml
file on the master node and in the host-slave.xml
file on each slave node.
Prerequisite
Red Hat JBoss EAP 7.1 is installed on each node of the cluster.
Procedure
-
Open the
EAP_HOME/domain/configuration/host.xml
file or theEAP_HOME/domain/configuration/host-slave.xml
file in a text editor. -
In the
main-server-group
<servers>
element, add the servers that will be part of the cluster. - Add the the system properties listed in Table 3.1, “Cluster Node Properties”
-
Save the
host.xml
orhost-slave.xml
file.
Table 3.1. Cluster Node Properties
Property Name | Value | Description |
---|---|---|
jboss.node.name | nodeOne | Node name unique within the cluster. |
org.uberfire.nio.git.daemon.port | 9418 | Port used by the VFS repo to accept client connections. The port must be unique for each cluster member. |
org.uberfire.nio.git.ssh.port | 8003 | The unique port number for ssh access to the Git repo for a cluster running on physical machines. |
org.uberfire.nio.git.daemon.host | nodeOne | The name of the daemon host machine in a physical cluster. |
org.uberfire.nio.git.ssh.host | nodeOne | The name of the SSH host machine in a physical cluster. |
Example 3.1. Cluster nodeOne Configuration
<system-properties> <property name="jboss.node.name" value="nodeOne" boot-time="false"/> <property name="org.uberfire.nio.git.daemon.port" value="9418" boot-time="false"/> <property name="org.uberfire.nio.git.ssh.cert.dir" value="/tmp/jbpm/nodeone" boot-time="false"/> <property name="org.uberfire.nio.git.ssh.port" value="8003" boot-time="false"/> <property name="org.uberfire.nio.git.daemon.host" value="nodeOne" /> <property name="org.uberfire.nio.git.ssh.host" value="nodeOne" /> <property name="org.uberfire.nio.git.ssh.hostport" value="8003" boot-time="false"/> </system-properties>
Example 3.2. Cluster nodeTwo Configuration
<system-properties> <property name="jboss.node.name" value="nodeTwo" boot-time="false"/> <property name="org.uberfire.nio.git.daemon.port" value="9418" boot-time="false"/> boot-time="false"/> <property name="org.uberfire.nio.git.ssh.cert.dir" value="/tmp/jbpm/nodetwo" boot-time="false"/> <property name="org.uberfire.nio.git.ssh.port" value="8003" boot-time="false"/> <property name="org.uberfire.nio.git.daemon.host" value="nodeTwo" /> <property name="org.uberfire.nio.git.ssh.host" value="nodeTwo" /> <property name="org.uberfire.nio.git.ssh.hostport" value="8003" boot-time="false"/> </system-properties>
Example 3.3. Cluster nodeThree Configuration
<system-properties> <property name="jboss.node.name" value="nodeThree" boot-time="false"/> <property <property name="org.uberfire.nio.git.daemon.port" value="9418" boot-time="false"/> boot-time="false"/> <property name="org.uberfire.nio.git.ssh.cert.dir" value="/tmp/jbpm/nodethree" boot-time="false"/> <property name="org.uberfire.nio.git.ssh.port" value="8003" boot-time="false"/> <property name="org.uberfire.nio.git.daemon.host" value="nodeThree" /> <property name="org.uberfire.nio.git.ssh.host" value="nodeThree" /> <property name="org.uberfire.nio.git.ssh.hostport" value="8003" boot-time="false"/> </system-properties>
3.5. Starting the cluster and distributing Decision Central
After you have configured a Red Hat JBoss EAP cluster and repackaged Decision Central, you must start the cluster and distribute the repackaged decision-central.war
file.
Prerequisites
- Elasticsearch is installed and running on one node of the cluster.
-
A Red Hat JBoss EAP 7.1 cluster is available and the
domain.xml
,host.xml
, andhost-slave.xml
files are configured. -
The repackaged
decision-central.war
file is available.
Procedure
-
Add Red Hat JBoss EAP management users to the master node of the cluster (where you configured the
domain.xml
file) as described in the Red Hat JBoss EAP 7.1 Configuration Guide. On each node of the cluster, add the following users:
- Add Decision Central administration users as described in Installing and configuring Red Hat Decision Manager on Red Hat JBoss EAP 7.1.
Add the JMS user, where
<JMS_USER>
and<JMS_PWD>
is the JMS user and password combination that you added to thedomain.xml
file:$ ./add-user.sh -a --user <JMS_USER> --password <JMS_PWD> --role admin
Start the cluster by starting the the master node first, then start each of the slave nodes.
To start the master node, enter one of the following commands:
On Linux or UNIX-based systems, enter:
<EAP_HOME>/bin/domain.sh
On Windows, enter:
<EAP_HOME>/bin/domain.bat
To start the slave nodes, on each of the slave nodes enter one of the following commands, where
<MASTER_NODE_IP>
is the IP address of the master node (where the domain controller is configured):On Linux or UNIX-based systems, enter:
<EAP_HOME>/bin/domain.sh --host-config=host-slave.xml -Djboss.domain.master.address=<MASTER_NODE_IP>
On Windows, enter:
<EAP_HOME>/bin/domain.bat --host-config=host-slave.xml -Djboss.domain.master.address=<MASTER_NODE_IP>
For more information, see the following sections of the Red Hat JBoss EAP 7.1 Configuration Guide:
- "Starting JBoss EAP"
- "Managed Domain Configuration Files"
-
On each node of the cluster, review the
EAP_HOME/domain/servers/SERVER_NAME/log/server.log
file to verify that the nodes are available. To deploy the
decision-central.war
file into the server group, complete the following steps:-
On the master node, log in to the Red Hat JBoss EAP
Administration
console as amanagement
user. - Click Deployments → Server Groups→ main-server-group and click Add.
- In the dialog box, click Upload a new deployment and click Next.
-
In the Upload Deployments dialog box, click Browse, select the
decision-central.war
file, and click Next. Click Enable and click Next. When the deployment is complete, Decision Central starts automatically on each node.
NoteMake sure to check deployment unit readiness with every cluster member.
When a deployment unit is created on a cluster node, it takes some time before it is distributed among all cluster members. You can check the deployment status using the server Administration console or REST API. However, if the query is sent to the node where the deployment was originally issued, the query will return a value of
deployed
. If the query is sent to a node where the deployment has not yet been distributed, the query returnsDeploymentNotFoundException
.
-
On the master node, log in to the Red Hat JBoss EAP
For more information about installing Decision Central, see Installing and configuring Red Hat Decision Manager on Red Hat JBoss EAP 7.1.
3.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 Decision Central home page appears. - Select Menu → Design → Projects.
- 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 Decision Central on the first node, where you created the
MyDataObject
asset. - Select Menu→ Design → Projects.
- Select the Mortgages project.
-
Verify that
MyDataObject
is in the asset list. - Delete the Mortgages project.
Chapter 4. Decision Server clusters in a runtime environment
The primary benefit of clustering a Decision 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 Decision Server clustered runtime environment, you download and extract Red Hat JBoss EAP 7.1 and Decision Server. Then, you configure Red Hat JBoss EAP 7.1 for a domain-mode cluster, start the cluster, and install Decision Server on each cluster node.
If desired, you can then cluster the headless Decision Manager controller.
4.1. Downloading and extracting Red Hat JBoss EAP 7.1 and Decision Server
Complete the steps in this section to download and install Red Hat JBoss EAP 7.1 and download and repackage Decision Server for installation in a clustered environment.
Procedure
Install Red Hat JBoss EAP 7.1 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.1
-
Click Download next to Red Hat JBoss Enterprise Application Platform 7.1.0. (
jboss-eap-7.1.0.zip
). -
Extract the
jboss-eap-7.1.0.zip
file. Thejboss-eap-7.1/jboss-eap-7.1
directory is referred to asEAP_HOME
.
Download and extract Decision 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.1
-
Download Red Hat Decision Manager 7.1.0 Decision Server for All Supported EE7 Containers (
rhdm-7.1.0-kie-server-ee7.zip
).
-
Extract the
rhdm-7.1.0-kie-server-ee7.zip
archive to a temporary directory. In the following examples this directory is calledTEMP_DIR
.
Repackage the
kie-server.war
directory:-
Navigate to the
TEMP_DIR/rhdm-7.1.0-kie-server-ee7/kie-server.war
directory. -
Select the contents of the
TEMP_DIR/rhdm-7.1.0-kie-server-ee7/kie-server.war
directory and create thekie-server.zip
file. -
Rename
kie-server.zip
tokie-server.war
. This is the file that you will use to deploy Decision Server on the cluster nodes. -
If desired, copy the new
kie-server.war
file to a location that is more convenient to deploy from.
-
Navigate to the
-
If you want to use a security manager with Decision Server, copy the contents of the
TEMP_DIR/rhdm-7.1.0-kie-server-ee7/SecurityPolicy
directory to theEAP_HOME/bin
directory on each node of the cluster.
4.2. Configuring a Red Hat JBoss EAP 7.1 domain-mode cluster for Decision Server
To centrally manage and publish configurations for the servers across a cluster, configure the Red Hat JBoss EAP cluster in domain mode for Decision Server. Domain mode provides a central location to store and publish configurations.
Procedure
-
On the the master node of the cluster (where you will run the domain controller), open the
EAP_HOME/domain/configuration/domain.xml
file in a text editor. Make the following changes for each server group in the
server-groups
element:-
Specify the
server-group name
andjvm
name. To enable high availability, change the
profile
tofull-ha
and thesocket-binding-group
tofull-ha-sockets
.<server-group name="some-server-group" profile="full-ha"> <jvm name="some-jvm"> <heap size="1000m" max-size="1000m"/> </jvm> <socket-binding-group ref="full-ha-sockets"/> </server-group>
-
Specify the
In the
<subsystem xmlns="urn:jboss:domain:messaging-activemq:2.0">
element, make the following changes:-
Replace
<cluster password="${jboss.messaging.cluster.password:CHANGE ME!!}"/>
with<cluster user="<CLUSTER_USER>" password="<CLUSTER_PWD>"/>
where<CLUSTER_USER>
is the user used by Red Hat JBoss EAP to form a messaging cluster and<CLUSTER_PWD>
is the password for that user. In the
security-setting
element add thekie-server
role:<subsystem xmlns="urn:jboss:domain:messaging-activemq:2.0"> <server name="default"> <security-setting name="#"> <role name="guest" send="true" consume="true" create-non-durable-queue="true" delete-non-durable-queue="true"/> <role name="kie-server" send="true" consume="true" create-non-durable-queue="true" delete-non-durable-queue="true"/> </security-setting>
-
Replace
-
Save the
domain.xml
file.
4.3. Configuring Red Hat JBoss EAP 7.1 host files for a Decision Server clustered environment
After you have installed Red Hat JBoss EAP and configured the domain.xml
file for a Decision Server clustered environment, you must configure the host.xml
and host-slave.xml
files.
Prerequisite
Red Hat JBoss EAP 7.1 is installed on each node of the cluster.
Procedure
Complete the following steps on the master node of the cluster:
-
Open the
EAP_HOME/domain/configuration/host.xml
file in a text editor. -
In the
main-server-group
<servers>
element, add the servers that will be part of the cluster.
-
Open the
Complete the following steps in the
host.xml
file on the master node and in thehost-slave.xml
file on each slave node:-
Open the
EAP_HOME/domain/configuration/host-slave.xml
file in a text editor. -
In the
main-server-group
<servers>
element, add the servers that will be part of the cluster.
-
Open the
4.4. Starting the cluster and distributing Decision Server
After you have configured a Red Hat JBoss EAP cluster and repackaged Decision Server, you must start the cluster and distribute the repackaged kie-server.war
file.
Prerequisites
-
A Red Hat JBoss EAP 7.1 cluster is available and the
domain.xml
,host.xml
, andhost-slave.xml
files have been configured. -
The repackaged
kie-server.war
file is available.
Procedure
-
Add Red Hat JBoss EAP management users to the master node (where you configured the
domain.xml
file) as described in the Red Hat JBoss EAP 7.1 Configuration Guide. On each node of the cluster, add Decision Server users as described in Installing and configuring Red Hat Decision Manager on Red Hat JBoss EAP 7.1.
To start the master node, enter one of the following commands:
On Linux or UNIX-based systems, enter:
<EAP_HOME>/bin/domain.sh
On Windows, enter:
<EAP_HOME>/bin/domain.bat
To start the slave nodes, on each of the slave nodes enter one of the following commands, where
<MASTER_NODE_IP>
is the IP address of the master node (where the domain controller is configured):On Linux or UNIX-based systems, enter:
<EAP_HOME>/bin/domain.sh --host-config=host-slave.xml -Djboss.domain.master.address=<MASTER_NODE_IP>
On Windows, enter:
<EAP_HOME>/bin/domain.bat --host-config=host-slave.xml -Djboss.domain.master.address=<MASTER_NODE_IP>
For more information, see the following sections of the Red Hat JBoss EAP 7.1 Configuration Guide:
- "Starting JBoss EAP"
- "Managed Domain Configuration Files".
-
On each node of the cluster, review the
EAP_HOME/domain/servers/SERVER_NAME/log/server.log
file to verify that the nodes are available. To deploy the
kie-server.war
file that you created previously into the server group, complete the following steps on the master node:-
Log in to the Red Hat JBoss EAP
Administration
console of your domain as amanagement
user. - Click Deployments → Server Groups→ main-server-group and click Add.
- In the dialog box, click Upload a new deployment and click Next.
-
In the Upload Deployments dialog box, click Browse, select the
kie-server.war
file, and click Next. Click Enable and click Next.
NoteMake sure to check deployment unit readiness with every cluster member.
When a deployment unit is created on a cluster node, it takes some time before it is distributed among all cluster members. You can check the deployment status using the server Administration console or REST API. However, if the query is sent to the node where the deployment was originally issued, the query will return a value of
deployed
. If the query is sent to a node where the deployment has not yet been distributed, the query returnsDeploymentNotFoundException
.
-
Log in to the Red Hat JBoss EAP
To verify that the Decision Server main endpoint is available and business process management (BPM) capabilities are enabled, enter the following command and replace
<node_IP>
and<node_port>
with the IP address and port number of the node you are verifying:curl -X GET "http://<node_IP>:<node_port>/kie-server/services/rest/server"
If the following line is present in the output, BPM capabilities are enabled:
<capabilities>BPM</capabilities>
For more information about installing Decision Central, see Installing and configuring Red Hat Decision Manager on Red Hat JBoss EAP 7.1.
4.5. Clustering with the headless Decision Manager controller
The Decision Manager controller is integrated with Decision Central. However, if you do not install Decision Central, you can install the headless Decision Manager controller and use the REST API or the Decision Server Java Client API to interact with it.
Prerequisites
-
A backed-up Red Hat JBoss EAP installation version 7.1 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.
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.1
-
Download Red Hat Decision Manager 7.1.0 Add Ons (the
rhdm-7.1.0-add-ons.zip
file). -
Unzip the
rhdm-7.1.0-add-ons.zip
file. Therhdm-7.1-controller-ee7.zip
file is in the unzipped directory. -
Extract the
rhdm-7.1-controller-ee7.zip
file to a temporary directory. In the following examples this directory is calledTEMP_DIR
. Repackage the
controller.war
directory:-
Navigate to the
TEMP_DIR/rhdm-7.1.0-add-ons/rhdm-7.1-controller-ee7/controller.war
directory. -
Select the contents of the
TEMP_DIR/rhdm-7.1.0-add-ons/rhdm-7.1-controller-ee7/controller.war
directory and create thecontroller.zip
file. -
Rename
controller.zip
tocontroller.war
. This is the file that you will use to deploy the headless Decision Manager controller on the cluster nodes. -
If desired, copy the new
controller.war
file to a location that is more convenient to deploy from.
-
Navigate to the
-
If you want to use a security manager with the headless Decision Manager controller, copy the contents of the
TEMP_DIR/rhdm-7.1.0-add-ons/rhdm-7.1-controller-ee7/SecurityPolicy
directory to theEAP_HOME/bin
directory on each node of the cluster. -
Add Red Hat JBoss EAP management users to the master node (where you configured the
domain.xml
file) as described in the Red Hat JBoss EAP 7.1 Configuration Guide. - On each node of the cluster, add users for the headless Decision Manager controller as described in the "Installing the headless Decision Manager controller" section of Installing and configuring Red Hat Decision Manager on Red Hat JBoss EAP 7.1.
Complete the following steps in the
host.xml
file on the master node and in thehost-slave.xml
file on each slave node:-
Open the
EAP_HOME/domain/configuration/host.xml
orEAP_HOME/domain/configuration/host-slave.xml
file in a text editor. -
In the
main-server-group
<servers>
element, add the servers that will be part of the cluster. 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>
If the value of the
org.kie.server.controller.templatefile.watcher.enabled
property is set totrue
, 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 tofalse
, changes to the template file are detected only when the server restarts.
-
Open the
To deploy the
controller.war
file that you created previously into the server group, complete the following steps on the master node:-
Log in to the Red Hat JBoss EAP
Administration
console of your domain as amanagement
user. - Click Deployments → Server Groups→ main-server-group and click Add.
- In the dialog box, click Upload a new deployment and click Next.
-
In the Upload Deployments dialog box, click Browse, select the
controller.war
file, and click Next. Click Enable and click Next.
NoteMake sure to check deployment unit readiness with every cluster member.
When a deployment unit is created on a cluster node, it takes some time before it is distributed among all cluster members. You can check the deployment status using the server Administration console or REST API. However, if the query is sent to the node where the deployment was originally issued, the query will return a value of
deployed
. If the query is sent to a node where the deployment has not yet been distributed, the query returnsDeploymentNotFoundException
.
-
Log in to the Red Hat JBoss EAP
For more information about installing Decision Central, see Installing and configuring Red Hat Decision Manager on Red Hat JBoss EAP 7.1.
Chapter 5. Additional resources
- Installing and configuring Red Hat Decision Manager on Red Hat JBoss EAP 7.1
- 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 managed server environment on Red Hat OpenShift Container Platform
Appendix A. Versioning information
Documentation last updated on Friday, May 22, 2020.