为 Liberty 服务器设置变量 (不推荐)

必须先设置一个或多个 WebSphere 变量,然后才能使用作业管理器来远程安装和管理 Liberty 服务器。 可以在管理控制台、wsadmin 脚本或 registerHost 命令中设置变量。 这些变量指定要安装 Liberty 资源的根目录,并指定用于查找尚未向作业管理器注册的资源的搜索路径。

准备工作

Liberty 资源包括项目,软件开发包 (Java 运行时环境) , Liberty 运行时,服务器和应用程序。 有关更多信息,请参阅 Liberty 资源。

如果要使用管理控制台, wsadmin 或 registerHost 命令来设置 Liberty 服务器变量的值,请启动作业管理器或 Deployment Manager。

有关此任务

可以为 WebSphere 变量和内置变量指定值。

WebSphere 变量

必须设置一个或多个 WebSphere 变量,然后才能使用作业管理器来安装 Liberty 资源。 配置的数量取决于所部署的拓扑。 可以使用作业管理器控制台、Deployment Manager 控制台、wsadmin 或 registerHost 命令来设置变量的值。

可以将 Liberty 资源安装到非共享的工作位置,或者安装到共享位置。 不要共享已安装到工作位置的资源。

安装到共享位置的资源可供安装到工作位置的 Liberty 服务器使用。 例如,您可以配置工作的 Liberty 服务器以使用以下一种或多种类型的共享资源:
  • Liberty 运行时
  • 软件开发包
  • 应用程序
在共享位置将资源安装为只读。 可以使用诸如网络文件系统 (NFS) 等磁盘共享方法,在主机中或跨主机共享资源。

在资源安装期间,除非存在名称冲突,否则会将 Liberty 压缩文件中的资源解压缩到 WLP_WORKING_DIR 指定的工作根目录或 WLP_SHARED_DIR 指定的共享目录。

表 1. Liberty 缺省变量 至少为非共享工作目录指定目录路径。
缺省变量 描述
WLP_WORKING_DIR 指定非共享工作 Liberty 资源的安装或库存搜索路径。 如果作业提交并未指定对安装或搜索目录进行共享,那么作业会使用此变量。 缺省情况下,Liberty 资源安装到此变量所定义的非共享工作目录。

为此变量指定绝对路径。 不要指定相对路径。

WLP_SHARED_DIR 指定共享 Liberty 资源的安装或库存搜索路径。 如果作业提交指定对安装或搜索目录进行共享,那么作业会使用此变量。

为此变量指定绝对路径。 不要指定相对路径。

WLP_ADDITIONAL_DIRS (可选)指定其他路径以搜索 WLP_SHARED_DIR 和 WLP_WORKING_DIR 变量所含路径之外的 Liberty 资源。
必须配置 Liberty 资源的其他搜索路径以执行下列操作:
  • 搜索先前安装的且由作业管理器单独管理的软件开发包。
  • 搜索未安装在缺省工作和共享目录中的任何服务器资源。 例如,可相对于若干个不同用户的主目录,定义不同的安装位置。 有关更多信息,请参阅 HOME 和 USER 变量的描述。

为此变量指定绝对路径。 不要指定相对路径。

内置变量

使用作业管理器远程安装和管理 Liberty 服务器时,可以设置以下内置变量,以根据操作系统主目录,操作系统用户,主机名和项目成员资格来定制安装位置和 Liberty 配置文件:

包含用于提交 安装 Liberty 资源 作业的操作系统用户名的主目录。 可以使用 HOME 变量来设置相对于提交用户的主目录的工作目录;例如:
WLP_WORKING_DIR=${HOME}/working
用户
包含用于提交 安装 Liberty 资源 作业的操作系统用户的名称。 可以使用 USER 变量设置每个用户的工作目录(相对于全局目录);例如:
WLP_WORKING_DIR=/working/${USER}
使用 HOME 变量或 USER 变量来定制安装位置时,必须使用每个用户的特定目录来配置 WLP_ADDITIONAL_DIRS 变量;例如:
WLP_ADDITIONAL_DIRS=/usr/home/user1;/usr/home/user2

如果未包含 WLP_ADDITIONAL_DIRS 变量中的目录,那么库存作业在目标主机上找不到关联的 Liberty 资源。

主机名
包含运行 安装 Liberty 资源 作业的目标主机的已配置主机名。 可以在服务器 bootstrap.properties 文件中使用 HOSTNAME 变量;例如:
hostname=${HOSTNAME}
然后,可以在服务器配置文件 server.xml 中使用主机名变量;例如:
<httpEndpoint host="${hostname}" httpPort="9081" httpsPort="9444" id="defaultHttpEndpoint"/>
CURRENT_PROJECT
包含 Liberty 资源压缩文件中包含的项目的名称。

过程

可以为所指定作用域的所有目标主机设置 WebSphere 变量,或者在目标主机级别设置 WebSphere 变量。

  • 为所指定作用域的所有目标主机设置 WebSphere 变量。

    可以使用下列任一方法,为所指定作用域的所有目标主机设置 WebSphere 变量:

    • 使用管理控制台来设置变量。
      1. 在作业管理器控制台或 Deployment Manager 控制台中,单击 环境 > WebSphere 变量
      2. 指定单元、节点或服务器作用域。 在大多数情况下,可以选择单元作用域。
      3. 单击新建
      4. 对于 名称,请指定 Liberty 变量名称,例如 WLP_WORKING_DIR
      5. 对于,指定安装和清单搜索路径,例如 c:/resources
      6. 保存更改。
      7. 要设置其他变量,请重复这些步骤。
    • 使用 wsadmin 脚本编制工具来设置变量。

      使用 AdminConfig create 命令,在单元、节点或服务器作用域设置变量。

      1. 在作业管理器概要文件的 bin 目录中打开命令提示符。
      2. 启动 wsadmin 工具并使用 Jython 脚本编制语言。
        wsadmin -lang jython
      3. 运行 AdminConfig create 命令。 指定作用域、变量名称和变量值。 在大多数情况下,可以在单元作用域定义变量。
        例如,将由单元限定作用域的 WLP_WORKING_DIR 变量设置为 c:/working 目录:
        AdminConfig.create('VariableSubstitutionEntry', '(cells/cell_name|variables.xml#VariableMap_1)',
         '[[symbolicName "WLP_WORKING_DIR"] [description ""] [value "c:/working"]]')
      4. 保存变量更改。
        AdminConfig.save()
      5. 要设置其他变量,请重复这些步骤。
      6. 结束 wsadmin 会话。
        quit
  • 在目标主机级别设置 WebSphere 变量。

    可以使用下列方法在目标主机级别设置 WebSphere 变量,从而覆盖在更高级别的作用域设置的相同变量(如果存在):

    • 使用 registerHost 命令来注册主机时,在主机属性中设置变量。
      1. 在作业管理器概要文件或 Deployment Manager 概要文件的 bin 目录中打开命令提示符。
      2. 启动 wsadmin 工具并使用 Jython 脚本编制语言。
        wsadmin -lang jython
      3. 运行用于指定变量名称和值的 AdminTask registerHost 命令。
        例如,将 WLP_WORKING_DIR 变量设置为使用 C:/liberty 目录:
        AdminTask.registerHost('-host host_name
          -hostProps [[username admin][password password]
            [saveSecurity true][WLP_WORKING_DIR C:/liberty]]')

        有关 registerHost 的更多信息,请参阅“向作业管理器注册主机”。

      4. 保存更改。
    • 以后,可以使用 AdminTask modifyManagedNodeProperties 命令来更改变量。
      例如,将 WLP_WORKING_DIR 变量设置为使用 C:/liberty2 目录:
      AdminTask.modifyManagedNodeProperties('-managedNodeName host_name
       -managedNodeProps "[WLP_WORKING_DIR C:/liberty2]"')

结果

保存更改后,可以在控制台的“WebSphere 变量”页面上查看变量列表的更改。

避免麻烦: 定义变量后,请参阅 打包 Liberty 资源 (不推荐) ,以获取有关如何为 "安装 Liberty 资源" 作业正确打包文件的信息。 如果您使用 IBM Installation Manager 来安装 Liberty,请在 WLP_WORKING_DIR 的位置下创建子目录。 该目录将用于标识 Liberty 运行时的此实例。 在使用 IBM Installation Manager 进行安装期间,将此目录用作安装目录。 例如,如果将 WLP_WORKING_DIR 设置为 /liberty/working,请创建 runtime_1 子目录,然后在使用 IBM Installation Manager 进行安装期间将 /liberty/working/runtime_1 用作安装目录。

下一步做什么?

现在,您可以提交用于从 Liberty 资源压缩文件安装资源的作业,以及用于搜索先前存在的 Liberty 资源的库存作业。

以后,您可以设置变量来覆盖不同目标主机的变量值,或者取代用户定义的变量:
  • 通过更改每个主机上的目标属性,可以选择覆盖个别主机上 Liberty 变量的值。 首先,在更高级别的作用域定义相应的缺省 WebSphere 变量,例如:
    WLP_SHARED_DIR=/shared
    WLP_WORKING_DIR=/working
    WLP_ADDITIONAL_DIRS=...
    然后,覆盖不同于缺省值的每个目录的这些变量的值。 例如,如果大多数主机位于 AIX、HP-UX、Linux 或 Solaris 操作系统上,而且环境中有一些 Windows 主机,那么在注册每个 Windows 主机之后,可以添加下列主机属性:
    WLP_SHARED_DIR=c:/shared
    WLP_WORKING_DIR=c:/working
  • 可以编辑特定于目标主机的属性以使用用户定义的变量来替代个别目标。 如果在每个目标上有多个网络接口,并且您想要指定要用于每个目标的网络接口,那么使用用户定义的变量来取代就很有用。 可以在服务器 bootstrap.properties 文件中定义此变量;例如:
    hostname=${hostname.interface1}

    对于每个目标,必须在该主机的特定于目标主机的属性中,定义用户定义的变量的实际值。 例如,对于 host1,将接口的值定义为 hostname.interface1=host1.xyz.com,以及将 host2 定义为 hostname.interface1=host2.xyz.com