Configuring on a clustered environment

After creating your database, you can configure Decision Server and Decision Center in clusters, to achieve 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.

Before you start

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

If you are using version 8.5.5 of WebSphere Application Server, from <WAS_InstallDir>\AppServer\bin, run the managesdk command with the -listAvailable, -setNewProfileDefault, and -setCommandDefault options to make all profile and script commands use SDK 8 or higher:
managesdk -listAvailable
managesdk.bat -setCommandDefault -sdkname 1.8_64
managesdk.bat -setNewProfileDefault -sdkname 1.8_64
For more information, see the WebSphere Application Server managesdk command.
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 as follows. From <WAS_InstallDir>\AppServer\:

.\bin\manageprofiles.bat -create
 -templatePath .\profileTemplates\management
 -enableAdminSecurity true -adminUserName wasadmin -adminPassword wasadmin
-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. For more information, see WebSphere Application Server WAS Knowledge Center: Creating management profiles with deployment managers.

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.

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 "-Xms256M" to "-Xmx4096M".
    • Change PERF_JVM_OPTIONS in launchWsadminListener.sh. Based on your platform, change "-Xms256M" to "-Xmx4096M".

    • Increase operating system "open files limit" with the command ulimit -n 8192.
From <WAS_InstallDir>\AppServer\:
  • For Decision Server: .\bin\manageprofiles.bat -augment -profileName Dmgr01 -templatePath .\profileTemplates\odm\decisionserver\management -odmHome <ODM_InstallDir>
  • For Decision Center: .\bin\manageprofiles.bat -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: .\bin\manageprofiles.bat -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 the command:

addNode.bat <dmgrhost> <dmgrport> -username wasadmin -password wasadmin

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

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\:
    .\profiles\Dmgr01\bin\startServer.bat 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:
      .\bin\manageprofiles.bat -create
       -templatePath .\profileTemplates\managed
       -profileName ODMMachine01
       -nodeName ODMNode01
    3. Federate the node to the Deployment Manager. From <WAS_InstallDir>\AppServer\profiles\ODMMachine01\:

      .\bin\addNode.bat 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:
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:/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:
    .\bin\createODMDecisionServerCluster.bat
     -clusterPropertiesFile .\bin\odm\ODMDecisionServerCluster.properties
     -adminUsername wasadmin -adminPassword wasadmin
  • For Decision Center:
    .\bin\createODMDecisionCenterCluster.bat
     -clusterPropertiesFile .\bin\odm\ODMDecisionCenterCluster.properties
     -adminUsername wasadmin -adminPassword wasadmin

Log files corresponding to the cluster creation are in <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 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.
Note: 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:
.\bin\createODMDecisionServerCluster.bat -uninstall
 -clusterPropertiesFile .\bin\odm\ODMDecisionServerCluster.properties
 -targetNodeName ODMNode01
 -adminUsername wasadmin -adminPassword wasadmin
When the script completes, the cluster is up and running. See the following instructions to open the consoles and verify your configuration:

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.