Create dynamic clusters
When you create a dynamic cluster, weights are used to dynamically balance the workloads of the cluster members, based on performance information that is collected from the cluster members.
Before you begin
You must have configurator administrative privileges.
Verify that the application placement controller is enabled. The application placement controller is enabled by default.
Operational policies | Autonomic managers | Application placement controllerDecide if you are going to use vertical stacking, which can improve bottleneck conditions in deployed applications by enabling the placement controller to start more than one instance of the dynamic cluster on a node. With vertical stacking enabled, the autonomic managers limit the processor percentage that is used by each stacked instance. The general formula is...
100% / max-number-of-stacked-instancesFor example, if you configure three stacked instances, the workload is throttled to prevent any single instance from using more than 33% of the processor capacity.
If you are creating a dynamic cluster of externally created middleware servers with assisted life-cycle management, create representations of these servers in WebSphere XD environment before you create a dynamic cluster. All of these servers must have the same applications installed and have the same version of middleware software installed.
About this task
A dynamic cluster is an application deployment target that can expand and contract depending on the workload in your environment. Dynamic clusters work with autonomic managers, including the application placement controller and the dynamic workload manager to maximize the use of your computing resources. Dynamic clusters are required for many of WebSphere XD autonomic functions, including high availability and service policies.
IBM recommends not exceeding a maximum of 50 application servers, node agents, and on demand routers per core group. A dynamic cluster cannot span multiple core groups. Consider this limit when you set the stacking number for your dynamic cluster.
This limitation does not apply to dynamic clusters of assisted life-cycle servers or complete life-cycle dynamic clusters of PHP or WebSphere Application Server Community Edition servers.
If you already have over 50 servers in your core group, you can use the coregroupsplit.py script to split your existing cell into multiple core groups.
Procedure
- Create the dynamic cluster. In the administrative console, click...
Servers | Dynamic clusters | New- Select the dynamic cluster server type.
The dynamic cluster server type determines the type of servers that are members of this dynamic cluster. Depending on the type, you enter the name of the dynamic cluster on this panel or when you select the membership method.
- For some dynamic cluster types, you can select the membership method. The membership method defines how servers join the dynamic cluster as cluster instances.
- Automatically define cluster members with rules
You can automatically define cluster members with rules if you are using servers with complete life-cycle management. With this option, you create a membership policy that defines the nodes on which cluster instances can be placed.
- Manually define cluster members
If you are using servers with assisted life-cycle management, you can manually define cluster members. With this option, you select existing servers to add to the dynamic cluster. The servers that you select must be homogenous: that is, they must be of the same server type, middleware server version, and have the same applications installed.
If you plan to manually add members to the dynamic cluster after the dynamic cluster is created, remember to install your applications on the server and create a representation of the server and applications within the WebSphere Virtual Enterprise administrative console before you add the member to the dynamic cluster.
- Define the dynamic cluster members.
- If you selected Automatically define cluster members with rules in the previous step, use the subexpression builder to build a membership policy expression for your dynamic cluster. This expression is compared to all the nodes in the cell, selecting any nodes for which the subexpression is true.
- If you selected Manually define cluster members, then the action you take depends on what kind of servers are in your dynamic cluster.
- If your server type is application server, choose an existing static cluster to convert to a dynamic cluster.
- If your server type is an externally created middleware server with assisted life-cycle management, select servers from the list, and add them to your dynamic cluster. Before you add assisted life-cycle servers, be sure that they are the same type, middleware server version, and have the same set of applications installed.
- Select a dynamic cluster template.
You can either build servers that are based on a default template, or you can use an existing server from your environment as the template. You can select a dynamic cluster server template only for dynamic clusters that consist of servers with complete life-cycle management. You can choose an existing predefined template, or create your own server templates to use when you create your dynamic cluster.
- Specify dynamic cluster-specific properties.
- Define the minimum number of cluster instances. The default minimum number of instances is one instance and the maximum default is no limit on instances.
- Define the maximum number of cluster instances. The default value has no limit on the number of cluster instances.
- Determine whether to enable vertical stacking. When you configure vertical stacking, more than one dynamic cluster instance can start on the same node.
- Specify an isolation preference for the dynamic cluster.
- Confirm the dynamic cluster creation. Click...
Finish | Save...to save the changes to the master configuration.
- Select the mode of operation. In the administrative console, click...
Servers | Dynamic clusters | dynamic_clusterChoose the operational mode and click Set mode.
To use dynamic application placement, click Automatic or Supervised as the mode of operation.
If you have nodes that run on z/OS® systems, use dynamic clusters in supervised or automatic mode. If you want to prevent WebSphere Virtual Enterprise from automatically starting a cluster member on a logical partition (LPAR) that is hosting a dynamic cluster when the LPAR processor is too busy, then define the cpuUtilizationThreshold custom property. In this scenario, WebSphere XD starts the cluster member only if transaction demand requires additional cluster members and the processor utilization on the LPAR is less than the cpuUtilizationThreshold value. See cpuUtilizationThreshold custom property for more information.
Results
When the dynamic clusters start, at least one instance of each dynamic cluster in your environment becomes available as soon as possible. Multiple instances on the same node can start concurrently if you have multiple processors on the same node. For example, if you have two processors on a node, two instances can start concurrently. The application placement controller continues to start instances evenly across the nodes for all the dynamic clusters until the minimum number of instances for each dynamic cluster is reached.
Example
Use the following placement scenarios as a guideline for your dynamic cluster settings:
- To specify that exactly two servers are started when the dynamic cluster is running: Click Keep multiple instances started at all times. Set the Number of instances value to 2. Click Limit the number of instances that can start and set the Number of instances value to 2.
- To limit the number of started servers to five, and to stop the servers when no activity occurs, click Stop all instances during periods of inactivity. Set the maximum number of instances by clicking Limit the number of instances that can start and set the Number of instances value to 5.
- To keep at least one instance active at all times, and to support an unlimited number of instances to start, click Keep one instance started at all times and Do not limit the number of instances that can start.
What to do next
- To edit your dynamic cluster settings, click...
Servers | Dynamic clusters | dynamic_cluster_nameTo make changes to all of the members of the dynamic cluster, edit the dynamic cluster server template. Click Server template.
- Deploy an application to your dynamic cluster.
- Monitor performance with reports and operations tabs. Click...
Servers | Dynamic clusters | dynamic_cluster_name [ Reports tab | Operations tab]- If you are using supervised mode, the autonomic managers generate recommended actions and runtime tasks upon which you can act. To view all the runtime tasks that the supervised operating mode created, click...
System administration | Task management | Runtime tasksIf you want to avoid monitoring the runtime tasks queue, you can define e-mail notification. You can create an e-mail notification profile by clicking...System administration | Task management | Notifications- If you are using automatic mode, you can prevent servers from starting or restarting during the cell shutdown by adding commands to disable the application placement controller and health controller to the script that you use to stop the cell. For example, you might add the following lines to your script:
wsadmin -profile PlacementControllerProcs.jacl -c "disable"
wsadmin -profile HmmControllerProcs.jacl -c "disable"To change your server ports after the server has been created, change the ports on each server instance. You cannot change the ports through the dynamic cluster template. Because multiple servers to be on the same node by configuring vertical stacking, the ports must be unique for each server instance.
Subtopics
Dynamic clusters
Dynamic cluster isolation
Application lazy start
Static clusters versus dynamic clusters
Configure vertical stacking
Next topic
PlacementControllerProcs.jacl script
Next topic
HmmControllerProcs.jacl
Related concepts
Components of dynamic operations
Related tasks
Deploying applications with defined service levels
Creating and managing reports
Creating PHP servers and PHP dynamic clusters
Related reference
Administrative roles and privileges
coregroupsplit.py scriptRelated information
Application placement custom properties