Create a dynamic cluster of ODRs
We can create a dynamic cluster of on demand routers (ODRs), which means that the application placement controller selects the best node on which to start the minimum number of ODRs. If an ODR stops for any reason, the application placement controller will then start a new instance.
- The size of an ODR dynamic cluster will not currently increase beyond the minimum number of instances.
- Before running the manageODR.py script, ensure that you have the WAS_HOME environment variable configured to point to the directory of the WebSphere installation.
- When an ODR is a member of a cluster, routing rules and other configuration settings that are set at the ODR level are ignored. Configuration settings at the cluster level take precedence over any configuration settings at the server level.
- For Session Initiation Protocol(SIP), an ODR cluster defines the other ODRs to which an ODR can route. An ODR might route a UDP message to another ODR to guarantee that server affinity is maintained in the case that the UDP message is a retransmission.
The SIP ODR is stabilized, and is currently not recommended. Use the SIP proxy server instead.gotcha
We can configure a dynamic cluster isolation policy to prevent ODRs from running on the same node with application servers. We can use the console, or we can run the manageODR.py script to create ODR dynamic clusters. We can also set a cell-level custom property to enable elasticity mode for ODR dynamic clusters.
Create ODR dynamic clusters using the console
to create ODR dynamic clusters.
- Click
Servers > Clusters > Dynamic clusters > New
- Select On demand router as the dynamic cluster server type.
- Select the membership method, which defines how servers join the dynamic cluster as cluster instances. Select Automatically define cluster members with rules to create a membership policy that defines the nodes on which cluster instances can be placed. Select Manually define cluster members to add existing servers to the dynamic cluster. The servers selected must be homogenous: that is, they must be of the same server type, middleware server version, and have the same applications installed.
- Define the dynamic cluster members.
- Select a dynamic cluster template.
Deprecated feature: The defaultXD and defaultXDZOS server templates used when creating a dynamic cluster are deprecated. Use the default or defaultZOS server template instead.depfeat
- Specify dynamic cluster-specific properties.
- Confirm the creation of the ODR dynamic cluster.
Click Finish > Save to save the changes to the master configuration.
- Select the mode of operation.
Servers > Clusters > Dynamic clusters
Choose the operational mode, and click Set mode.
Create ODR dynamic cluster with script
Run the manageODR.py script to create ODR dynamic clusters. The manageODR.py script is in the install_root/bin directory.
In the following example, an ODR dynamic cluster named myOdrCluster is created on all nodes in the node group named myOdrNodeGroup.
./wsadmin.sh -f manageODR.py createDynamicCluster myOdrCluster myOdrNodeGroup
Enable elasticity mode
Set the APC.predictor custom property to enable elasticity mode for ODR dynamic clusters. By setting the custom property, the application placement controller starts and stops servers based on CPU usage alone. Furthermore, the controller no longer retrieves data from the ARFM regarding what servers to start and stop.
- Click System administration > Cell > Custom properties > New.
- Specify the name of the custom property as APC.predictor.
- Specify the value of the custom property as CPU.
- Click OK, and save and synchronize your changes.
What to do next
- After creating the ODR dynamic clusters, we can manage them from the Dynamic clusters panel in the console. Click Servers > Clusters > Dynamic clusters.
- Monitor performance with reports and operations tabs. Click Servers > Clusters > Dynamic clusters > ODR_dynamic_cluster. Select the Reports tab or the Operations tab.
Related concepts
Dynamic clusters Elasticity mode Create a static cluster of ODRs Intelligent Management: scripts Intelligent Management: custom properties