Create cluster members using scripting
Use the wsadmin tool to create cluster members in application server, generic server, web server, and proxy server clusters.
There are multiple ways to complete this task. This topic uses the AdminConfig object to create cluster members in the environment. Alternatively, we can use the ClusterConfigCommands command group for the AdminTask object or the createClusterMember script in the AdminClusterManagement script library to create and configure clusters.
The template options are available only for the first cluster member that we create. All cluster members that we create after the first member will be identical. A template is stored in the cluster scope that we must use to create additional cluster members.
Tasks
- Start the wsadmin scripting tool.
- There are two ways to perform this task. Choose one of the following:
- Use the AdminTask object:
- Jacl:
$AdminTask createClusterMember {-interactive}- Jython:
AdminTask.createClusterMember ('[-interactive]')
- Use the AdminConfig object:
- Identify the existing cluster and assign it to the cluster variable:
- Jacl:
set cluster [$AdminConfig getid /ServerCluster:myCluster1/]- Jython:
cluster = AdminConfig.getid('/ServerCluster:myCluster1/') print cluster
Example output:
myCluster1(cells/mycell/clusters/myCluster1|cluster.xml#ServerCluster_1)- Identify the node to create the new server and assign it to the node variable:
- Jacl:
set node [$AdminConfig getid /Node:mynode/]- Jython:
node = AdminConfig.getid('/Node:mynode/') print node
Example output:
mynode(cells/mycell/nodes/mynode|node.xml#Node_1)- (Optional) Identify the cluster member template and assign it to the serverTemplate variable:
- Jacl:
set serverTemplate [$AdminConfig listTemplates Server]- Jython:
serverTemplate = AdminConfig.listTemplates('Server') print serverTemplate
Example output:
server1(templates/default/nodes/servers/server1|server.xml#Server_1)- Create the new cluster member, using the createClusterMember command.
- The following example creates the new cluster member, passing in the existing cluster configuration ID, existing node configuration ID, and the new member attributes:
- Jacl:
$AdminConfig createClusterMember $cluster $node {{memberName clusterMember1}}- Jython:
AdminConfig.createClusterMember(cluster, node, [['memberName', 'clusterMember1']])
- The following example creates the new cluster member with a template, passing in the existing cluster configuration ID, existing node configuration ID, the new member attributes, and the template ID:
- Jacl:
$AdminConfig createClusterMember $cluster $node {{memberName clusterMember1}} $serverTemplate- Jython:
print AdminConfig.createClusterMember(cluster, node, [['memberName', 'clusterMember1']], serverTemplate)
Example output:
clusterMember1(cells/mycell/clusters/myCluster1|cluster.xml$ClusterMember_2)
- Save the configuration changes.
AdminConfig.save()- In a network deployment environment only, synchronize the node.
Use the syncActiveNodes script in the AdminNodeManagement script library to propagate the changes to all active nodes:
AdminNodeManagement.syncActiveNodes()
Modifying cluster member templates wsadmin AdminConfig Create a cluster: Create additional cluster members Cluster configuration scripts Commands for the AdminConfig object Create a cluster: Create first cluster member