Configuring on a clustered environment

After you create a database, you can configure Decision Server and Decision Center in clusters for high availability and scalability.

Some examples in this section are based on a simple cluster made up of two members. The Deployment Manager resides on one machine, a different machine (Node01) hosts the first cluster member (and the Rule Execution Server console), and another machine (Node02) hosts the second cluster member. Notice, in the following diagram, that when you create both a Decision Server and Decision Center cluster, a given node can host the equivalent cluster member for each module. Consult Recommended topology and assess your own needs:

Cell containing a Decision Center cluster, a Decision Server cluster, and a stand-alone Rule Execution Server console
Operational Decision Manager provides scripts for creating Decision Server or Decision Center clusters, as follows:
  • Step 1: Create a WebSphere® Application Server Deployment Manager profile
  • Step 2: Augment the Deployment Manager profile with Decision Server or Decision Center
  • Step 3: Create a node for each cluster member
  • Step 4: Set the cluster configuration properties
  • Step 5: Create the clusters

If you have many cluster members, you need a load balancing system, such as IBM® HTTP server.

Note: Examples for Windows and Linux® are provided. For example, they use manageprofiles.bat for the Windows directory structure, and manageprofiles.sh for Linux and UNIX environments. Shared parameter examples are in the Windows format.

Before you start

Create the dedicated databases for Decision Server and Decision Center. See Mandatory: Create the databases.

For information about WebSphere Application Server, see the WebSphere Application Server documentation.

.
Note: 1.8_64 is the minimum version. You can also set the SDK in the WebSphere Application Server Administrative console. In Server > Server types > WebSphere Application servers, click the server name and under Server Infrastructure click Java SDKs.

If you are using version 9 of WebSphere Application Server, the JDK is set to version 8 by default, so you do not need to run the managesdk commands.

Step 1: Create a Deployment Manager profile

The WebSphere Application Server Deployment Manager provides a single administrative point. Create a Deployment Manager profile from <WAS_InstallDir>\AppServer\ (these commands are shown as examples only):

Windows
.\bin\manageprofiles.bat -create
 -templatePath .\profileTemplates\management
 -enableAdminSecurity true -adminUserName wasadmin -adminPassword wasadmin
Linux
./bin/manageprofiles.sh -create
 -templatePath ./profileTemplates/management
 -enableAdminSecurity true -adminUserName wasadmin -adminPassword wasadmin
Tip: If you create a profile on a host that already has a cluster, you must provide a unique port value for the new profile or reassign the port value of the existing profile (see Configuring port settings).
-templatePath
Use <WAS_InstallDir>\AppServer\profileTemplates\management, which is the location of the Deployment Manager template.
-enableAdminSecurity
Set this parameter to true to enable WebSphere Application Server administrative security. Decision Server and Decision Center will not work correctly without administrative security. Also provide -adminUserName and -adminPassword.

This command creates a Deployment Manager profile under profiles\Dmgr01 unless you provide a different profile name.

Step 2: Augment the Deployment Manager profile

You augment the Deployment Manager profile with Decision Server or Decision Center so that each cluster member that you create afterwards contains the same configuration. You cannot augment the profile by using the WAS Profile Management Tool GUI. The only way to perform ODM augmentation is by using the command line as described below.

Note:
Before augmenting the profile with Decision Center, increase the allocated heap size for the wasadmin Java process as follows:
  • On Windows, replace with -Xms2048M -Xmx4096M in your set PERFJAVAOPTION command in wsadmin.bat and launchWsadminListener.bat:
    set PERFJAVAOPTION=-Xms256m -Xmx256m -Xquickstart
  • On Linux:
    • Change PERF_JVM_OPTIONS in wsadmin.sh. Based on your platform, change "-Xmx256M" to "-Xmx4096M".
    • Change PERF_JVM_OPTIONS in launchWsadminListener.sh. Based on your platform, change "-Xmx256M" to "-Xmx4096M".

    • Increase operating system "open files limit" with the command ulimit -n 8192.

From <WAS_InstallDir>\AppServer\ (these commands are shown as examples only):

Windows
  • Decision Server
    .\bin\manageprofiles.bat -augment -profileName Dmgr01 -templatePath .\profileTemplates\odm\decisionserver\management -odmHome <ODM_InstallDir>
  • Decision Center
    .\bin\manageprofiles.bat -augment -profileName Dmgr01 -templatePath .\profileTemplates\odm\decisioncenter\management -odmHome <ODM_InstallDir>
Linux
  • Decision Server
    ./bin/manageprofiles.sh -augment -profileName Dmgr01 -templatePath ./profileTemplates/odm/decisionserver/management -odmHome <ODM_InstallDir>
  • Decision Center
    ./bin/manageprofiles.sh -augment -profileName Dmgr01 -templatePath ./profileTemplates/odm/decisioncenter/management -odmHome <ODM_InstallDir>

Log files corresponding to the augment command are available in <WAS_InstallDir>\AppServer\logs\manageprofiles\Dmgr01\odm.

The augment commands have the following effects:

Decision Server Decision Center
  • Creates the users resAdmin, resMonitor, and resDeployers.
  • Copies the createODMDecisionServerCluster script to profiles\Dmgr01\bin.
  • Copies the Decision Server archives to profiles\Dmgr01\bin\odm\artifacts.
  • Creates the users rtsAdmin, rtsUser1, and rtsConfig.
  • Copies the createODMDecisionCenterCluster script to profiles\Dmgr01\bin.
  • Copies the Decision Center archive to profiles\Dmgr01\bin\odm\artifacts.
Note: You can unaugment a module from the Deployment Manager without deleting the cluster. The command removes the standard users, but the cluster is kept as-is to prevent any risk of deleting previously existing configurations. For Decision Server (these commands are shown as examples only):
Window
.\bin\manageprofiles.bat -unaugment -profileName Dmgr01 -templatePath .\profileTemplates\odm\decisionserver\management
Linux
./bin/manageprofiles.sh -unaugment -profileName Dmgr01 -templatePath ./profileTemplates/odm/decisionserver/management

Step 3: Create a node for each cluster member

A cluster is made up of members that are normally on different machines (nodes). For each cluster member that you intend to create, create a node and federate this node to the Deployment Manager. You do this on each machine that hosts a cluster member. You create the node with the WebSphere Application Server profile of type managed, and then federate the node with one of the following commands (these commands are shown as examples only):

Windows
addNode.bat <dmgrhost> <dmgrport> -username wasadmin -password wasadmin
Linux
addNode.sh <dmgrhost> <dmgrport> -username wasadmin -password wasadmin

The <dmgrhost> variable is the location of the machine that hosts the Deployment Manager and <dmgrport> is the port (usually 8879).

Tip: To add a node to an existing cluster, you must edit ODMDecisionServerCluster.properties (or ODMDecisionCenterCluster.properties) by adding the new node to the list of existing nodes: cluster.member.nodes=ODMNode01,ODMNode02,newNODE. Then, you run one of the following scripts. (These scripts are provided as examples only. The commands are explained in the Update option section below.):
Windows
createODMDecisionServerCluster.bat (or createODMDecisionCenterCluster.bat)
Linux
createODMDecisionServerCluster.sh (or createODMDecisionCenterCluster.sh)

It creates the node without altering the existing cluster and nodes.

The following example shows how to create and federate two nodes to the Deployment Manager:
  1. Start the Deployment Manager from an Administrator command line. From <WAS_InstallDir>\AppServer\:
    Windows
    .\profiles\Dmgr01\bin\startServer.bat dmgr
    Linux
    ./profiles/Dmgr01/bin/startserver.sh dmgr
  2. Create the first node and federate it to the Deployment Manager. On the machine that will host the first node, in <WAS_InstallDir>\AppServer\:
    1. Set the managesdk options described at the beginning of this section (you do this for each machine).
    2. Create the profile:
      Windows
      .\bin\manageprofiles.bat -create
       -templatePath .\profileTemplates\managed
       -profileName ODMMachine01
       -nodeName ODMNode01
      
      Linux
      ./bin/manageprofiles.sh -create
       -templatePath ./profileTemplates/managed
       -profileName ODMMachine01
       -nodeName ODMNode01
      
    3. Federate the node to the Deployment Manager. From <WAS_InstallDir>\AppServer\profiles\ODMMachine01\:

      Windows
      .\bin\addNode.bat dmgr.ibm.com 8879 -username wasadmin -password wasadmin
      
      Linux
      ./bin/addNode.sh dmgr.ibm.com 8879 -username wasadmin -password wasadmin
      
  3. Repeat for each machine. For example, on the second machine, with a profile name ODMMachine02 and a node name ODMNode02.

Before moving to the next step, it is good working practice to verify that the nodes have been federated. In the WebSphere Integrated Solutions Console for the Deployment Manager, open System administration > Nodes.

Remember: If you create and federate a node for the first Decision Server cluster member, you can use the same node for the first Decision Center cluster member in the next steps.

Step 4: Set the cluster configuration properties

Prepare the configuration properties files located in your Deployment Manager profile <WAS_InstallDir>\Appserver\profiles\Dmgr01\bin\odm\:
  • For Decision Server: ODMDecisionServerCluster.properties
  • For Decision Center: ODMDecisionCenterCluster.properties
Enter the following properties for the cluster that you are creating:
Property Value Example
cluster.name The name of the cluster. cluster.name=DecisionServerCluster or cluster.name=DecisionCenterCluster
virtualhost.name The target virtual host where the applications will be installed. virtualhost.name=default_host
res.console.server.name The name of the server for the Rule Execution Server console. Required only for the Decision Server script. res.console.server.name=RulesMgrSrv
cluster.member.nodes A comma-separated list of the federated nodes to include in the cluster. cluster.member.nodes=ODMNode01,ODMNode02
res.console.node The name of the node that hosts the Rule Execution Server console. Required only for the Decision Server script. res.console.node=ODMNode01
cluster.servers.maxHeapSize The max heap size. cluster.servers.maxHeapSize=8192
cluster.servers.initialHeapSize The initial heap size. cluster.servers.initialHeapSize=1096
cluster.servers.jvm.args The jvm args.  
database.type The type of database manager. Valid values are:
  • DB2
  • MSSQL
  • Oracle
database.type=DB2
database.jdbcDriverPath

The fully qualified location and name of the JDBC driver file.

Separate the files with a semi-colon (;) if there are more than one.

C:/drivers/db2cc.jar;C:/drivers/db2cc_license_cu.jar.
database.name The name of the database. Typically, resdb and dcdb.
database.hostname The database server host name or IP address. localhost if on your local machine.
database.port The database TCP/IP service port or listener port. database.port=50000 for DB2
database.user The user ID to access the database.  
database.password The password for the user ID to access the database.  

The following example shows the content of ODMDecisionServerCluster.properties:

Windows
cluster.name=DecisionServerCluster
virtualhost.name=default_host
res.console.server.name=RulesMgrSrv
cluster.member.nodes=ODMNode01,ODMNode02
res.console.node=ODMNode01
cluster.servers.maxHeapSize=8192
cluster.servers.initialHeapSize=1096
cluster.servers.jvm.args=-Xgcpolicy:gencon -Xgcthreads6
database.type=DB2
database.jdbcDriverPath=C:/drivers/db2cc.jar;C:/drivers/db2cc_license_cu.jar
database.name=resdb
database.hostname=dbhost.ibm.com
database.port=50000
database.user=res
database.password=res
Linux
cluster.name=DecisionServerCluster
virtualhost.name=default_host
res.console.server.name=RulesMgrSrv
cluster.member.nodes=ODMNode01,ODMNode02
res.console.node=ODMNode01
cluster.servers.maxHeapSize=8192
cluster.servers.initialHeapSize=1096
cluster.servers.jvm.args=-Xgcpolicy:gencon -Xgcthreads6
database.type=DB2
database.jdbcDriverPath=/drivers/db2cc.jar;/drivers/db2cc_license_cu.jar
database.name=resdb
database.hostname=dbhost.ibm.com
database.port=50000
database.user=res
database.password=res

Step 5: Create the clusters

Create the cluster with all its members by launching the script from <WAS_InstallDir>\AppServer\profiles\Dmgr01 as follows:
  • For Decision Server:
    Windows
    .\bin\createODMDecisionServerCluster.bat
     -clusterPropertiesFile .\bin\odm\ODMDecisionServerCluster.properties
     -adminUsername wasadmin -adminPassword wasadmin
    
    Linux
    ./bin\createODMDecisionServerCluster.sh
     -clusterPropertiesFile ./bin/odm/ODMDecisionServerCluster.properties
     -adminUsername wasadmin -adminPassword wasadmin
    
  • For Decision Center:
    Windows
    .\bin\createODMDecisionCenterCluster.bat
     -clusterPropertiesFile .\bin\odm\ODMDecisionCenterCluster.properties
     -adminUsername wasadmin -adminPassword wasadmin
    
    Linux
    .\bin\createODMDecisionCenterCluster.sh
     -clusterPropertiesFile ./bin/odm/ODMDecisionCenterCluster.properties
     -adminUsername wasadmin -adminPassword wasadmin
    

Log files corresponding to the cluster creation are in:

Windows
<WAS_InstallDir>\AppServer\profiles\Dmgr01\logs\odm
Linux
<WAS_InstallDir>/AppServer/profiles/Dmgr01/logs/odm

The script performs the following actions:

For Decision Server:
Action Manual equivalent
Installs the JDBC provider and the data source on each node. Setting up a data source and connection pool
Configures security and maps users to roles. Activating security access
Deploys the MBean descriptors. Deploying the Rule Execution Server MBean descriptors
Deploys the execution unit (XU) on each node. Deploying the XU RAR
Deploys the Rule Execution Server console. Deploying the Rule Execution Server management EAR
Deploys the testing and simulation archive. Deploying the testing and simulation archive
Deploys the hosted transparent decision services. Deploying the hosted transparent decision service EAR

For Decision Center:

Action Manual equivalent
Installs the JDBC provider and the data source on each node. Configuring database connectivity

Configures security access.

Typically, you use the default users to complete the configuration and other IT tasks. To give access to other users on the basic registry or configure an LDAP repository, see the manual equivalent section.

Configuring user access to Decision Center
Installs the Decision Center application. Deploying the Decision Center EAR file
Because the Decision Center EAR file is large, one or more steps in the script may be subject to hardware limitations or other environment constraints. If so, address the issue and rerun the script.
When the script completes, the cluster is up and running. See the following instructions to open the consoles and verify your configuration:

Update option

By rerunning the commands with the update parameter, new nodes are added according to the cluster property files.

Use the update option from <WAS_InstallDir>\AppServer\profiles\Dmgr01 as follows (these commands are shown as examples only):

Windows
.\bin\createODMDecisionServerCluster.bat -update
 -clusterPropertiesFile .\bin\odm\ODMDecisionServerCluster.properties
 -targetNodeName ODMNode01
 -adminUsername admin -adminPassword admin
Linux
./bin/createODMDecisionServerCluster.sh -update
 -clusterPropertiesFile ./bin/odm/ODMDecisionServerCluster.properties
 -targetNodeName ODMNode01
 -adminUsername wasadmin -adminPassword wasadmin

Uninstall components

To uninstall Decision Server or Decision Center from a cluster, use the configuration script with the -uninstall option to remove all the applications and resources from the cluster. The cluster itself is not removed because it might contain other applications. For example, to uninstall Decision Server, from <WAS_InstallDir>\AppServer\profiles\Dmgr01:

Windows
.\bin\createODMDecisionServerCluster.bat -uninstall
 -clusterPropertiesFile .\bin\odm\ODMDecisionServerCluster.properties
 -adminUsername wasadmin -adminPassword wasadmin
Linux
./bin/createODMDecisionServerCluster.sh -uninstall
 -clusterPropertiesFile ./bin/odm/ODMDecisionServerCluster.properties
 -adminUsername wasadmin -adminPassword wasadmin

Troubleshooting

Log files corresponding to the cluster creation are in <WAS_InstallDir>\AppServer\profiles\Dmgr01\logs\odm. Individual log files corresponding to the different steps of the script let you see where problems occurred.