AdminTask 对象的 ClusterConfigCommands 命令组
要通过使用脚本编制来使应用程序服务器、通用服务器和代理服务器集群化,可以使用 Jython 或 Jacl 脚本语言来实现。ClusterConfigCommands 组中的命令和参数可用于创建和删除服务器集群以及称为集群成员的服务器。
![[z/OS]](../images/ngzos.gif)
changeClusterShortName
createCluster 命令用于更改与集群关联的短名称。
目标对象
无步骤
- -clusterName(必需)
- 指定服务器集群的名称。(字符串)
- -shortName(可选)
- 指定要与集群关联的新短名称。每个集群都必须具有唯一的短名称。如果未指定此参数,那么系统会自动分配唯一的短名称。对此参数指定的值的长度必须少于或等于 8 个字符,并且所有这些字符都必须为大写。
示例
批处理方式示例用法:
- 使用 Jacl:
$AdminTask changeClusterShortName {-clusterName cluster1 -shortName newshortname}
- 使用 Jython 字符串:
AdminTask.changeClusterShortName('[-clusterName mycluster -shortName newshortname]')
- 使用 Jython 列表:
AdminTask.changeClusterShortName(['-clusterName', 'mycluster', '-shortName', 'newshortname'])
交互方式示例用法:
- 使用 Jacl:
$AdminTask changeClusterShortName {-interactive}
- 使用 Jython:
AdminTask.changeClusterShortName ('-interactive')
- 使用 Jython 列表:
AdminTask.changeClusterShortName (['-interactive'])
createCluster
createCluster 命令创建新的服务器集群。服务器集群由一组称为集群成员的服务器组成。可选地,可以为新集群创建复制域,并且可以包括现有的服务器作为第一个集群成员。还可以使用 createCluster 命令来将代理服务器设置应用于集群。
目标对象
无步骤
- -clusterConfig(必需)
- 指定新服务器集群的以下配置信息:
- -clusterName
- 指定服务器集群的名称。(字符串)
- -preferLocal
- 可选择指定在集群内是启用还是禁用由节点限定范围的路由优化功能。缺省值为 false。指定
true 以启用由节点限定范围的路由优化功能。(布尔值)
支持的配置: 如果您启用 preferLocal 优化,那么 Deployment Manager 必须正在运行才能更改配置。如果 Deployment Manager 已关闭,那么不会执行 preferLocal 优化,并且可能会将请求分布在集群的所有成员上。sptcfg
- -clusterType
- 可选择指定要创建的服务器集群的类型。缺省类型为 APPLICATION_SERVER。此参数的有效值包括:APPLICATION_SERVER、PROXY_SERVER 和 ONDEMAND_ROUTER。(字符串)
-shortName
指定服务器的特定短名称。每个服务器都应该具有特定的短名称。此参数的值必须少于或等于 8 个大写字符。如果未对 specificShortName 参数指定值,那么系统会生成唯一的短名称。(字符串)
- -replicationDomain(可选)
- 系统将复制域属性用于 HTTP 会话数据复制。
- -createDomain
- 指定是否要在集群配置中创建复制域。缺省值为 false。指定 true 以在集群配置中创建复制域。(布尔值)
- -convertServer(可选)
- 指定有关要转换为集群的第一个成员的现有应用程序服务器的信息。此命令步骤是可选的。可以为此步骤指定以下参数:
- -serverNode
- 具有要转换为第一个集群成员的服务器的节点的名称。您还必须指定 serverName 参数。(字符串)
- -serverName
- 要转换为第一个集群成员的应用程序服务器的名称。您还必须指定 serverNode 参数。(字符串)
- -memberWeight
- 集群成员的权重。权重控制导向到应用程序服务器的工作量。如果权重大于指定给其他集群成员的权重,那么服务器将接收更大的工作负载共享。值为 0 和 100 之间的数字。如果未指定任何值,那么缺省值为 2。(整数)
- -nodeGroup
- 此集群成员的节点以及将来的所有集群成员的节点必须属于的节点组的名称。所有集群成员必须位于同一个节点组中的节点上。如果指定了节点组,那么它必须是此成员的节点所属的其中一个节点组。如果未指定节点组,那么缺省值将是为此成员的节点列出的第一个节点组。(字符串)
- -replicatorEntry
- 指定是否启用 HTTP 会话数据复制。缺省值为 false。指定 true 以启用 HTTP 会话数据复制。如果在 replicationDomain 命令步骤中 createDomain 参数设置为 true,那么必须指定此参数。(字符串)
- -resourcesScope
- 指定将服务器移至集群中之后需要对服务器资源执行的操作。可能的值:
- server:指定服务器资源及集群资源保留在原地,保持不变。
- cluster:指定服务器资源将移至集群级别。将根据服务器中的资源设置集群范围资源。服务器范围资源将被除去。
- both:指定将服务器资源复制到集群范围。将根据服务器中的资源设置集群范围资源。服务器范围资源保持不变。
缺省值为 cluster。
对于转换用户: 对于 V8.x,-resourcesScope 参数的缺省值已更改为 cluster。在 V7 中,缺省值为 both。trns
示例
批处理方式示例用法:
- 使用 Jacl:
$AdminTask createCluster {-clusterConfig {-clusterName cluster1 -preferLocal true -clusterType APPLICATION_SERVER}}
$AdminTask createCluster {-clusterConfig {-clusterName cluster1 -preferLocal true -clusterType APPLICATION_SERVER} -replicationDomain {-createDomain true}}
$AdminTask createCluster {-clusterConfig {-clusterName cluster1 -preferLocal true -clusterType APPLICATION_SERVER} -convertServer {-serverNode node1 -serverName server1}}
- 使用 Jython 字符串:
AdminTask.createCluster('[-clusterConfig [-clusterName cluster1 -preferLocal true -clusterType APPLICATION_SERVER]]')
AdminTask.createCluster('[-clusterConfig [-clusterName cluster1 -preferLocal true -clusterType APPLICATION_SERVER] -replicationDomain [-createDomain true]]')
AdminTask.createCluster('[-clusterConfig [-clusterName cluster1 -preferLocal true -clusterType APPLICATION_SERVER] -convertServer [-serverNode node1 -serverName server1]]')
- 使用 Jython 列表:
AdminTask.createCluster(['-clusterConfig', '[-clusterName cluster1 -preferLocal true -clusterType APPLICATION_SERVER]'])
AdminTask.createCluster(['-clusterConfig', '[-clusterName cluster1 -preferLocal true -clusterType APPLICATION_SERVER]', '-replicationDomain', '[-createDomain true]'])
AdminTask.createCluster(['-clusterConfig', '[-clusterName cluster1 -preferLocal true -clusterType APPLICATION_SERVER]', '-convertServer', '[-serverNode node1 -serverName server1]'])
交互方式示例用法:
- 使用 Jacl:
$AdminTask createCluster {-interactive}
- 使用 Jython:
AdminTask.createCluster ('-interactive')
createClusterMember
createClusterMember 命令创建服务器集群的成员。集群成员是属于集群的应用程序服务器。如果这是集群的第一个成员,那么您必须指 定要用作集群成员的模型的模板。模板可以是缺省服务器模板或现有的应用程序服务器。
第一个集群成员用作在集群中创建后续成员的模板。创建第一个集群成员时,该集群成员的模板将存储在集群范围中。
- 系统为已配置为集群成员的节点的每个版本都存储一个模板。
- 对于给定版本的节点,在相同版本的任何节点中创建第一个成员之前,集群成员模板将不存在。例如,如果集群包含一些 V6.1 节点和一些 V6.0.x 节点,那么将有一个集群成员模板用于 V6.1 节点,并且有一个集群成员模板用于 V6.0.x 节点。
- 以下模板将用于为 V6.1 节点创建的成员:$WAS_HOME/config/templates/clusters/clusterName/servers/V6.1MemberTemplate。
- 以下模板将用于为 V6.0.x 节点创建的成员:$WAS_HOME/config/templates/clusters/clusterName/servers/V6MemberTemplate。
- 当您对集群中的成员进行配置更改时,您必须对存储在对应的集群范围中的模板进行相同的配置更改。
目标对象
可选择指定新成员所属的集群的配置标识。如果您未指定配置标识,那么必须指定 clusterName 参数。使用 AdminConfig 对象的 getid 命令来获取相关集群的配置标识。必需参数
- -clusterName
- 新成员将属于的集群的名称。如果您未指定此参数,那么您必须在命令目标中指定集群对象标识。(字符串)
步骤
- -memberConfig(必需)
- 指定集群的新成员的配置。
- memberNode
- 指定系统在其上创建集群成员的节点。(字符串)
- memberName
- 指定新集群成员的名称。(字符串)
- memberWeight
- 可选择指定集群成员的启动权重。(整数)
- memberUUID
- 可选择指定集群成员的 UUID。(字符串)
- genUniquePorts
- 可选择指定系统是否为服务器中定义的每个 HTTP 传输方法生成唯一端口号。新服务器不会有与在同一个节点上定义的任何其他服务器冲突的 HTTP 传输方法。缺省值为 true。如果不要生成唯一的端口号,那么指定值为 false。(布尔值)
- replicatorEntry
- 可选择指定系统是否为集群复制域中的新集群成员创建复制程序条目。复制程序条目用于提供 HTTP 会话数据复制。此命令参数是可选的。当值为 true 或 false 时表明是否将创建条目。缺省值为 false。仅当已经为集群创建复制域时您才可以指定此参数。(布尔值)
specificShortName
可选择指定服务器的特定短名称。每个服务器都应该具有特定的短名称。此参数的值不能存在下列情况:长度超过 8 个字符、以数字开始或使用小写字符。如果未对 specificShortName 参数指定值,那么系统会生成唯一的短名称。(字符串)
- -firstMember(可选)
- 指定配置集群的第一个成员所需的其他信息。
- templateName
- 可选择指定当创建新集群成员时要使用的应用程序服务器模板的名称。如果您指定模板,那么不能指定 templateServerNode 和 templateServerName 参数来使用现有应用程序服务器作为模板。要求您在此步骤中指定 templateName 参数或 templateServerNode 和 templateServerName 参数。(字符串)
- templateServerNode
- 可选择指定当创建新集群成员时要用作模板的现有应用程序服务器节点的名称。如果您指定 templateServerNode 参数,那么还必须指定 templateServerName 参数,并且您不能指定 templateName 参数。 要求您在此步骤中指定 templateName 参数或 templateServerNode 和 templateServerName 参数。(字符串)
- templateServerName
- 可选择指定当创建新集群成员时要用作模型的现有应用程序服务器的名称。如果您指定 templateServerName 参数,那么还必须指定 templateServerNode 参数,并且您不能指定 templateName 参数。 要求您在此命令步骤中指定 templateName 参数或 templateServerNode 和 templateServerName 参数。(字符串)
- nodeGroup
- 可选择指定新集群成员和每个其他集群成员所属的节点组的名称。每个集群成员都必须位于同一个节点组中的节点上。如果指定了节点组,那么它必须是此成员节点所属的其中一个节点组。如果未指定此参数,那么系统会分配针对成员节点列出的第一个节点组。(字符串)
- coreGroup
- 可选择指定新集群成员和每个其他集群成员所属的核心组的名称。每个集群成员都必须属于同一个核心组。如果未指定此参数,那么系统会分配单元中的缺省核心组。(字符串)
- resourcesScope
- 指定将服务器移至集群中之后需要对服务器资源执行的操作。可能的值:
- server:指定服务器资源及集群资源保留在原地,保持不变。
- cluster:指定服务器资源将移至集群级别。将根据服务器中的资源设置集群范围资源。服务器范围资源将被除去。
- both:指定将服务器资源复制到集群范围。将根据服务器中的资源设置集群范围资源。服务器范围资源保持不变。
缺省值为 cluster。
对于转换用户: 对于 V8.x,-resourcesScope 参数的缺省值已更改为 cluster。在 V7 中,缺省值为 both。trns
示例
批处理方式示例用法:
使用 Jacl:
使用模板名创建第一个成员:$AdminTask createClusterMember {-clusterName cluster1 -memberConfig {-memberNode node1 -memberName member1 -genUniquePorts true -replicatorEntry false}} -firstmember {-templateName serverTemplateName}}
使用模板的服务器和节点创建第一个成员:$AdminTask createClusterMember {-clusterName cluster1 -memberConfig {-memberNode node1 -memberName member1 -genUniquePorts true -replicatorEntry false} -firstmember {-templateServerNode node1 -templateServerName server1}}
创建第二个成员:$AdminTask createClusterMember {-clusterName cluster1 -memberConfig {-memberNode node1 -memberName member2 -genUniquePorts true -replicatorEntry false}}
使用 Jython 字符串:
使用模板名创建第一个成员:AdminTask.createClusterMember('[-clusterName cluster1 -memberConfig [-memberNode node1 -memberName member1 -genUniquePorts true -replicatorEntry false]] -firstMember [-templateName serverTemplateName]]')
AdminTask.createClusterMember('[-clusterName cluster1 -memberConfig [-memberNode node1 -memberName member1
-genUniquePorts true -replicatorEntry false]] -firstMember
[-templateServerNode node1 -templateServerName server1]]')
AdminTask.createClusterMember('[-clusterName cluster1 -memberConfig [-memberNode node1 -memberName member1
-genUniquePorts true -replicatorEntry false]]')
使用 Jython 列表:
使用模板名创建第一个成员:AdminTask.createClusterMember(['-clusterName', 'cluster1', '-memberConfig', '[-memberNode node1 -memberName member1 -genUniquePorts true -replicatorEntry false]]', '-firstMember', '[-templateName serverTemplateName]'])
使用模板的服务器和节点创建第一个成员:AdminTask.createClusterMember(['-clusterName', 'cluster1', '-memberConfig', '[-memberNode node1 -memberName member1 -genUniquePorts true -replicatorEntry false]', '-firstMember', '[-templateServerNode node1 -templateServerName server1]'])
创建第二个成员:AdminTask.createClusterMember(['-clusterName', 'cluster1', '-memberConfig', '[-memberNode node1 -memberName member1 -genUniquePorts true -replicatorEntry false]'])
交互方式示例用法:
- 使用 Jacl:
$AdminTask createClusterMember {-interactive}
- 使用 Jython:
AdminTask.createClusterMember ('-interactive')
deleteCluster
deleteCluster 命令删除服务器集群的配置。服务器集群由一组称为集群成员的服务器组成。系统会删除相关集群的每个集群成员。使用 deleteClusterMember 命令来删除个别集群成员的配置。
目标对象
可选择指定要删除的集群的配置对象标识。如果没有为集群指定对象标识,那么必须指定 clusterName 参数。使用 AdminConfig 对象的 getid 命令来获取集群的配置标识。必需参数
- -clusterName
- 指定要删除的集群的名称。如果指定集群的配置标识,请不要为 clusterName 参数指定值。(字符串)
步骤
- -replicationDomain(可选步骤)
- -deleteRepDomain
- 指定是否删除复制域。缺省值为 false。指定 true 以删除复制域。(布尔值)
示例
批处理方式示例用法:
- 使用 Jacl:
$AdminTask deleteCluster {-clusterName cluster1 }
$AdminTask deleteCluster {-clusterName cluster1 -replicationDomain {-deleteRepDomain true}}
- 使用 Jython 字符串:
AdminTask.deleteCluster('[-clusterName cluster1]')
AdminTask.deleteCluster('[-clusterName cluster1 -replicationDomain [-deleteRepDomain true]]')
- 使用 Jython 列表:
AdminTask.deleteCluster(['-clusterName', 'cluster1'])
AdminTask.deleteCluster(['-clusterName', 'cluster1', '-replicationDomain', '[-deleteRepDomain true]'])
交互方式示例用法:
- 使用 Jacl:
$AdminTask deleteCluster -interactive
- 使用 Jython:
AdminTask.deleteCluster ('-interactive')
deleteClusterMember
deleteClusterMember 命令删除集群成员的配置。集群成员是属于服务器集群的应用程序服务器。使用 deleteCluster 命令来删除集群的配置。
目标对象
可选择指定要删除的集群成员的配置对象标识。如果未指定配置标识,那么必须指定 clusterName、memberNode 和 memberName 参数。使用 AdminConfig 对象的 getid 命令来获取集群的配置标识。必需参数
- -clusterName
- 指定相关成员所属的集群的名称。如果指定此参数,那么还必须指定 memberName 和 memberNode 参数。如果未指定,那么必须在命令目标中指定成员对象标识。(字符串)
- -memberNode
- 指定集群成员所属的节点的名称。如果指定此参数,那么还必须指定 memberName 和 clusterName 参数。如果未指定此参数,那么必须在命令目标中指定集群成员对象标识。(字符串)
- -memberName
- 指定要从集群删除的成员的服务器名称。如果指定此参数,那么还必须指定 clusterName 和 memberNode 参数。如果未指定,那么必须在命令目标中指定成员对象标识。(字符串)
步骤
- replicatorEntry(可选)
- 为此集群成员指定移除复制程序条目。此命令步骤是可选的。可以为此步骤指定以下参数:
- -deleteEntry
- 从集群复制域中删除具有该集群成员名称的复制程序条目。指定值为 true 以删除复制程序条目。缺省值是 false。
示例
批处理方式示例用法:
- 使用 Jacl:
$AdminTask deleteClusterMember {-clusterName cluster1 -memberNode node1 -memberName member1}
$AdminTask deleteClusterMember {-clusterName cluster1 -memberNode node1 -memberName member2 -replicatorEntry {-deleteEntry true}}
- 使用 Jython 字符串:
AdminTask.deleteClusterMember('[-clusterName cluster1 -memberNode node1 -memberName member1]')
AdminTask.deleteClusterMember('[-clusterName cluster1 -memberNode node1 -memberName member2 -replicatorEntry [-deleteEntry true]]')
- 使用 Jython 列表:
AdminTask.deleteClusterMember(['-clusterName', 'cluster1', '-memberNode', 'node1', '-memberName', 'member1'])
AdminTask.deleteClusterMember(['-clusterName', 'cluster1', '-memberNode', 'node1', '-memberName', 'member2', '-replicatorEntry', '[-deleteEntry true]'])
交互方式示例用法:
- 使用 Jacl:
$AdminTask deleteClusterMember -interactive
- 使用 Jython:
AdminTask.deleteClusterMember ('-interactive')
updateClusterMemberWeights
updateClusterMemberWeights 命令更新指定集群成员的权重。集群成员是属于服务器集群的应用程序服务器。使用 updateClusterMemberWeights 命令更新集群配置中指定集群成员的权重。
目标对象
指定要更新的服务器集群的配置对象标识。必需参数
- -clusterName
- 指定相关成员所属的集群的名称。如果指定此参数,那么还必须指定 memberName 和 memberNode 参数。如果未指定,那么必须在命令目标中指定成员对象标识。(字符串)
- -memberNode
- 指定集群成员所属的节点的名称。如果指定此参数,那么还必须指定 memberName 和 clusterName 参数。如果未指定此参数,那么必须在命令目标中指定集群成员对象标识。(字符串)
- -memberName
- 指定要从集群删除的成员的服务器名称。如果指定此参数,那么还必须指定 clusterName 和 memberNode 参数。如果未指定,那么必须在命令目标中指定成员对象标识。(字符串)
步骤
- memberWeight
- 集群成员的权重。权重控制导向到应用程序服务器的工作量。如果权重大于指定给其他集群成员的权重,那么服务器将接收更大的工作负载共享。值为 0 和 100 之间的数字。如果未指定任何值,那么缺省值为 2。(整数)
示例
批处理方式示例用法:
- 使用 Jacl:
$AdminTask updateClusterMemberWeights {-clusterName cluster1 -memberNode node1 -memberName member1 -memberWeight integer}
- 使用 Jython 字符串:
AdminTask.updateClusterMemberWeights('[-clusterName cluster1 -memberNode node1 -memberName member1 -memberWeight integer]')
- 使用 Jython 列表:
AdminTask.updateClusterMemberWeights(['-clusterName', 'cluster1', '-memberNode', 'node1', '-memberName', 'member1', '-memberWeight', 'integer'])
交互方式示例用法:
- 使用 Jacl:
$AdminTask updateClusterMemberWeights -interactive
- 使用 Jython:
AdminTask.updateClusterMemberWeights ('-interactive')