使用 wsadmin 脚本编制对服务器管理进行自动化

脚本编制库提供 Jython 脚本编制过程来辅助对环境进行自动化。使用服务器管理脚本来配置服务器、服务器运行时环境、Web 容器、性能监视以及日志。您也可以使用这些脚本来管理您的服务器。

关于此任务

脚本库提供了一组过程,可自动执行最常见的应用程序服务器管理功能。 使用 Jython 脚本库的方式有三种。
  • 使用 wsadmin 工具从 Jython 脚本库以交互方式运行脚本。可以启动 wsadmin 工具,并使用以下语法来运行包括在脚本库中的各个脚本:
    wsadmin>AdminServerManagement.createApplicationServer("myNode", "myServer", "default")
  • 使用文本编辑器组合 Jython 脚本库中的若干个脚本,如下例所示:
    #
    # My Custom Jython Script - file.py
    #
    AdminServerManagement.createApplicationServer("myNode", "Server1", "default")
    AdminServerManagement.createApplicationServer("myNode", "Server2", "default")
    
    # Use one of them as the first member of a cluster
    AdminClusterManagement.createClusterWithFirstMember("myCluster", "APPLICATION_SERVER",
        "myNode", "Server1")
    
    # Add a second member to the cluster
    AdminClusterManagement.createClusterMember("myCluster", "myNode", "Server3")
    
    # Install an application
    AdminApplication.installAppWithClusterOption("DefaultApplication",
        "..\installableApps\DefaultApplication.ear", "myCluster") 
    
    # Start all servers and applications on the node
    AdminServerManagement.startAllServers("myNode")
    保存定制脚本并从命令行运行该脚本,如以下语法所示:
    bin>wsadmin -language jython -f path/to/your/jython/file.py
  • 将 Jython 脚本库代码用作样本语法来编写定制脚本。脚本库中的每个脚本示例都演示了编写 wsadmin 脚本的最佳实践。脚本库代码位于 app_server_root/scriptLibraries 目录中。在此目录中,脚本按照功能组织到各个子目录中。例如,app_server_root/scriptLibraries/application/V70 子目录包含执行应用程序管理任务的过程,这些过程可用于产品的 V7.0 和更高版本。脚本库路径中的子目录 V70 并不表示该子目录中的脚本是 V7.0 脚本。
脚本编制库中的 AdminServerManagement 过程位于 app_server_root/scriptLibraries/servers/V70 子目录中。当您启动 wsadmin 工具时,会自动从该目录中装入每个脚本。要在启动 wsadmin 工具时自动装入您自己的 Jython 脚本 (*.py),请在 app_server_root/scriptLibraries 目录下创建新的子目录,然后将现有自动化脚本保存到该子目录。
最佳实践 最佳实践: 要使用脚本编制库过程来创建定制脚本编制,请将所修改的脚本编制保存到新的子目录以避免覆盖此库。请不要编辑脚本编制库中的脚本编制过程。bprac

您可以使用 AdminServerManagement.py 脚本来执行管理功能的多个组合。执行以下步骤以创建应用程序服务器,将该应用程序服务器连接至 AdminService 接口,配置 Java™ 虚拟机 (JVM) 设置,将该应用程序服务器添加到集群,并将更改传播到节点。

过程

  1. 可选: 启动 wsadmin 工具。
    执行此步骤以启动 wsadmin 工具并连接至服务器、作业管理器或管理代理程序概要文件,或者在本地方式下运行该工具。如果启动 wsadmin 工具,请使用交互方式示例来运行脚本。
    • 从 bin 目录输入以下命令,以启动 wsadmin 工具并连接至服务器:
      bin>wsadmin -lang jython
    • 从 bin 目录输入以下命令,以在本地方式下使用 Jython 脚本编制语言来启动 wsadmin 工具:
      wsadmin -conntype none -lang jython
    当启动 wsadmin 工具时,系统会从脚本编制库中装入所有脚本编制。
  2. 创建应用程序服务器。
    运行 AdminServerManagement 脚本库中的 createApplicationServer 脚本过程,如以下示例所示:
    bin>wsadmin -lang jython -c "AdminServerManagement.createApplicationServer("myNode", "myServer", "default")"
    您也可以使用交互方式来运行脚本过程,如以下示例所示:
    wsadmin>AdminServerManagement.createApplicationServer("myNode", "myServer", "default")
  3. 将相关应用程序服务器连接至 AdminService 接口。
    AdminService 接口是用于连接应用程序服务器管理功能的服务器接口。要将应用程序服务器连接至 AdminService 接口,请运行 AdminServerManagement 脚本库中的 configureAdminService 脚本过程,并指定节点名、服务器名称以及连接器类型自变量,如以下示例所示:
    bin>wsadmin -lang jython -c "AdminServerManagement.configureAdminService("myNode", "myServer", 
    "IPC", "JSR160RMI")
    您也可以使用交互方式来运行脚本过程,如以下示例所示:
    wsadmin>AdminServerManagement.configureAdminService("myNode", "myServer", "IPC", "JSR160RMI")
  4. 配置 Java 虚拟机 (JVM)。

    在配置应用程序服务器的过程中,可定义一些设置来加强操作系统使用 JVM 的方式。JVM 是解释计算引擎,负责运行已编译 Java 程序中的字节码。JVM 会将 Java 字节码转换为主机的本机指令。由于应用程序服务器是一个 Java 进程,因此需要 JVM,才能运行应用程序服务器以及支持在该 JVM 上运行的 Java 应用程序。

    运行 AdminServerManagement 脚本库中的 configureJavaVirtualMachine 脚本过程,并指定节点名、服务器名称、是否要以调试方式运行 JVM 以及任何要传递到 JVM 进程的调试自变量。可选择性地使用属性列表来指定其他配置属性。使用以下示例来配置 JVM:
    bin>wsadmin -lang jython -c "AdminServerManagement.configureJavaVirtualMachine("myNode", 
    "myServer", "true", "mydebug", [["internalClassAccessMode", "RESTRICT"],
         ["disableJIT", "false"], ["verboseModeJNI", "false"]])"
    您也可以使用交互方式来运行脚本过程,如以下示例所示:
    wsadmin>AdminServerManagement.configureJavaVirtualMachine("myNode", "myServer", "true", 
    "mydebug", [["internalClassAccessMode", "RESTRICT"],
    		 ["disableJIT", "false"], ["verboseModeJNI", "false"]])
  5. 创建集群,并将应用程序服务器添加为集群成员。
    运行 AdminClusterManagement 脚本库中的 createClusterWithFirstMember 脚本过程,如以下示例所示:
    bin>wsadmin -lang jython -c "AdminClusterManagement.createClusterWithFirstMember("myCluster", 
    "APPLICATION_SERVER", "myNode", "myServer")"
    wsadmin>AdminClusterManagement.createClusterWithFirstMember("myCluster", "APPLICATION_SERVER", 
    "myNode", "myServer")
  6. 使节点同步。
    要将配置更改传播到节点,请运行 AdminNodeManagement 脚本库中的 syncNode 脚本过程,并指定相关节点,如以下示例所示:
    bin>wsadmin -lang jython -c "AdminNodeManagement.syncNode("myNode")"
    您也可以使用交互方式来运行脚本过程,如以下示例所示:
    wsadmin>AdminNodeManagement.syncNode("myNode")

结果

wsadmin 脚本库返回的输出与关联 wsadmin 命令返回的输出相同。例如,AdminServerManagement.listServers() 脚本会返回可用服务器的列表。AdminClusterManagement.checkIfClusterExists() 脚本会返回值 true(如果集群存在)或 false(如果集群不存在)。如果此命令未返回期望的输出,那么当此脚本成功运行时,脚本库会返回值 1。如果此脚本失败,那么脚本库会返回值 -1 及一条包含该异常的错误消息。

缺省情况下,系统会禁用 failonerror 选项。要启用此选项,请指定 true 作为该脚本过程的最后一个自变量,如以下示例所示:
wsadmin>AdminApplication.startApplicationOnCluster("myApplication","myCluster","true")

下一步做什么

通过组合脚本编制库中的脚本编制过程来创建定制脚本编制,对环境进行自动化。将定制脚本保存到 app_server_root/scriptLibraries 目录的新子目录。


指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=txml_7libserver
文件名:txml_7libserver.html