使用本主题,通过 wsadmin 工具,在灵活管理环境中的多个节点之间运行管理作业。
开始之前
配置作业管理器和管理代理程序,并在该作业管理器中注册节点以设置灵活管理环境。
关于此任务
在配置灵活管理环境后,您可以将作业提交到已在作业管理器中注册的节点,以及监视和管理这些节点的作业。您在作业管理器中的标识必须具有管理员角色权限或操作员角色权限,才能提交作业。当提交作业时,可以为在目标节点上进行认证和授权指定用户名和密码。如果未在作业参数中提供用户名和密码,那么将使用作业提交者在作业管理器上的凭证来进行认证和授权。
注: 注释:当将作业提交至多个目标节点时,提交者的用户名和密码或凭证必须适用于所有作业目标。
在以下示例中,一家公司在 Hursley、Berlin、Warsaw 和 Paris 具有四个分公司,每个位置分别具有一个应用程序服务器。在每个应用程序服务器上运行的应用程序频繁遇到内存泄漏问题。在开发团队修正应用程序时,每个位置可能必须频繁停止和重新启动应用程序服务器。执行以下步骤以创建节点组(该节点组包含来自每个位置的应用程序服务器),以及调度周重现作业以停止和重新启动四个应用程序服务器。
过程
- 启动 wsadmin 工具。
浏览至 app_server_root/bin 目录,并使用以下命令将 wsadmin 工具连接至作业管理器进程:
wsadmin -profileName myJobManager -lang jython
- 创建节点组。
使用
createManagedNodeGroup 命令在灵活管理配置中创建新的节点组。以下示例命令创建
European_Branch_Offices 节点组:
AdminTask.createManagedNodeGroup('-groupName European_Branch_Offices -description
"Management group for all European branch offices"')
- 将节点添加到节点组。
使用
addMemberToManagedNodeGroup 命令将节点添加到新组。每个节点可以属于一个或多个组。以下示例命令会将
Hursley_office、
Berlin_office、
Warsaw_office 和
Paris_office 节点添加到
European_Branch_Offices 节点组:
AdminTask.addMemberToManagedNodeGroup('-groupName European_Branch_Offices
-managedNodeNameList "[Hursley_Node01][Berlin_Node01][Warsaw_Node01][Paris_Node01]"')
- 在作业管理器上调度管理作业。
使用
submitJob 命令来提交将来的管理作业。作业提交由以下信息组成:
- 作业类型
- 作业类型指定要执行的作业的类型。在灵活管理环境中存在许多作业,其中包括应用程序管理、产品维护、配置和应用程序服务器运行时控制作业。
- 作业目标列表和目标组
- 作业目标列表和目标组指定运行作业的节点和节点组。
- 特定于作业的参数
- 大多数管理作业需要配置信息以及作业类型和目标,才能运行该作业。作业参数特定于每种作业类型。
注: 当将作业提交至多个目标节点时,提交者的用户名和密码或凭证必须适用于所有作业目标。
- 可选通用参数
- 除了特定于作业的参数之外,您还可以在作业提交中包含下列任何可选参数:
表 1. submitJob 可选通用参数描述. 以其必需参数及适合于您情况的可选参数运行 submitJob 命令。参数 |
描述 |
类型 |
username |
指定在安全性处于已启用状态下用于提交作业的用户名。 |
字符串 |
password |
指定在安全性处于已启用状态下用于提交作业的用户名的密码。 |
字符串 |
description |
指定作业的描述。 |
字符串 |
activationDateTime |
使用格式 "2006-05-03T10:30:45-0000" 指定作业的激活日期和时间。activationDateTime 参数值的 -0000 部分代表 RFC 822 格式。您可以指定 Z 作为格林威治标准时间 (GMT) 的缩写,例如 "2006-05-03T10:30:45Z"。如果未指定时区,那么系统会使用服务器的时区。 |
字符串 |
expirationDateTime |
使用格式 "2006-05-03T10:30:45-0000" 指定作业的截止日期。activationDateTime 参数值的 -0000 部分代表 RFC 822 格式。您可以指定 Z 作为格林威治标准时间 (GMT) 的缩写,例如 "2006-05-03T10:30:45Z"。如果未指定时区,那么系统会使用服务器的时区。 |
字符串 |
expireAfter |
指定在作业到期前等待的时间(以分钟计)。 |
整数 |
executionWindow |
指定作业的重现时间间隔。 |
字符串 |
executionWindowUnit |
指定 executionWindow 参数所设置值的重现时间间隔计量单位。指定 DAILY(以每天运行作业一次)、WEEKLY(以每周运行作业一次)、MONTHLY(以每月运行作业一次)、YEARLY(以每年运行作业一次)或 CONNECTION 以便每次节点连接并轮询作业时运行作业。 |
字符串 |
email |
指定系统将作业通知发送到的电子邮件地址。 |
字符串 |
以下示例会调度两个周重现作业。对于本示例,在 4 个分公司的应用程序服务器上运行的应用程序会频繁遇到内存泄漏问题。在开发团队修正应用程序时,可能必须频繁停止和重新启动应用程序服务器。以下命令示例会调度作业管理器每周停止和重新启动服务器一次,并在停止和重新启动服务器时通知系统管理员:
AdminTask.submitJob('-jobType stopServer -group European_Branch_Offices
-jobParams [serverName server1] -activationDateTime 2006-05-03T10:30:45Z
-executionWindowUnit DAILY -executionWindow 13:00:00-14:00:00
-email system_admin@company.com')
AdminTask.submitJob('-jobType startServer -group European_Branch_Offices
-jobParams [serverName server1] -activationDateTime 2006-05-03T10:40:45Z
-recurringIntervalUnits DAILY -recurringInterval 13:00:00-14:00:00
-email system_admin@company.com')
结果
作业已提交到队列,并且将以命令所指定的日期和时间来运行。
下一步做什么
使用 AdministrativeJobs 命令组中的命令,在灵活管理配置中管理和查询管理作业。