Chapter 2. Red Hat Decision Manager clusters in a development (authoring) environment
Configuration of Business Central for high availability is currently technology preview.
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 Business Central and at least one Decision Server
To create a Red Hat Decision Manager clustered development environment, you download and extract Red Hat JBoss EAP 7.2 and Red Hat Decision Manager 7.3. Then, you configure Red Hat JBoss EAP 7.2 with Elasticsearch and AMQ Broker, a Java messaging server (JMS) broker. Finally, you start the cluster and install Business 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.
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 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
2.2. Downloading and configuring AMQ Broker
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. Use the following instructions to configure a simplified, non-high availability environment.
To configure AMQ Broker for a high availability Red Hat Decision Manager clustered environment, see Using AMQ Broker.
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.2.0
-
Click Download next to Red Hat AMQ Broker 7.2.0 (
amq-broker-7.2.0-bin.zip
). -
Extract the
amq-broker-7.2.0-bin.zip
file. -
Change directory to
amq-broker-7.2.0-bin/amq-broker-7.2.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.2.0-bin/amq-broker-7.2.0/bin
directory:amq-broker-7.2.0/bin/<BROKER_NAME>/bin/artemis run
2.3. Downloading and extracting Red Hat JBoss EAP 7.2 and Red Hat Decision Manager
Download and install Red Hat JBoss EAP 7.2 and Red Hat Decision Manager 7.3 on each node of the cluster.
Procedure
Download Red Hat JBoss EAP 7.2 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.2
-
Click Download next to Red Hat JBoss Enterprise Application Platform 7.2.0. (
JBEAP-7.2.0/jboss-eap-7.2.0.zip
).
-
Extract the
jboss-eap-7.2.0.zip
file. In the following steps,EAP_HOME
is thejboss-eap-7.2/jboss-eap-7.2
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.3
-
Download Red Hat Decision Manager 7.3.0 Business Central Deployable for Red Hat JBoss EAP 7 (
rhdm-7.3.0-decision-central-eap7-deployable.zip
).
-
Extract the
rhdm-7.3.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.3.0-decision-central-eap7-deployable/jboss-eap-7.2
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).
Create a user with the
kie-server
role that you will use to log in to Decision Server.$ ./add-user.sh -a --user <USERNAME> --password <PASSWORD> --role kie-server
- Make a note of your user names and passwords.
2.4. Configuring and running Business Central in a cluster
After you install Red Hat JBoss EAP and Business Central you can use Elasticsearch and the AMQ Broker to configure the cluster.
These steps describe a basic cluster configuration. For more complex configurations, see the Red Hat JBoss EAP 7.2 Configuration Guide.
Prerequisites
- Elasticsearch is installed as described in Section 2.1, “Installing and configuring Elasticsearch”.
- 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.3, “Downloading and extracting Red Hat JBoss EAP 7.2 and Red Hat Decision Manager”.
- An NFS server with a mounted partition is available.
Procedure
-
Open the
EAP_HOME/standalone/configuration/standalone-full-ha.xml
file in a text editor. Edit or add the following properties to 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. -
<ELASTICSEARCH_NODE_IP>
is the IP address where Elasticseach is installed. -
<SHARED_NETWORK_FOLDER>
is the network folder that all Business Centrals in the cluster use to exchange data. This folder must be the same on all nodes of the cluster.
<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>
-
-
Save the
standalone-full-ha.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-ha.xml
On Windows:
standalone.bat -c standalone-full-ha.xml
2.5. 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. -
Click Try Samples
Mortgages OK. The Assets window appears. -
Click Create New 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. - Select the Mortgages project.
-
Verify that
MyDataObject
is in the asset list. - Delete the Mortgages project.