Network Deployment (Distributed operating systems), v8.0 > Scripting the application serving environment (wsadmin) > Cluster servers with wsadmin scripting
Create cluster members using scripting
Use wsadmin.sh 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, you can use the ClusterConfigCommands command group 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 you create. All cluster members that you create after the first member will be identical. A template is stored in the cluster scope that use to create additional cluster members.
Procedure
- Start wsadmin.sh.
- 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/cluster/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, by 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.
Save the configuration changes:
AdminConfig.save()
- Synchronize the node.
Use the syncActiveNodes script in the AdminNodeManagement script library to propagate the changes to all active nodes, as the following example demonstrates:
AdminNodeManagement.syncActiveNodes()
Modify cluster member templates using wsadmin.sh
Use the wsadmin scripting AdminConfig object for scripted administration
Related
Create a cluster: Create additional cluster members
Cluster configuration scripts
Commands for the AdminConfig object using wsadmin.sh
Create a cluster: Create first cluster member