覆盖 Liberty 服务器主机信息

collectiveMember-1.0 功能部件使得服务器可由集合体控制器来管理。大部分服务器主机信息都可以自动检测到。然而,在某些情况下,必须提供其他主机信息,以便集合体控制器可以与服务器建立连接。

For distributed platformsFor IBM i platforms注: collectiveController-1.0 功能部件及其功能仅在 WebSphere® Application Server Network Deployment LibertyWebSphere Application Server for z/OS® Liberty 中可用。该功能部件在 WebSphere Application Server LibertyWebSphere Application Server Liberty Core 中不可用。如果已安装 WebSphere Application Server Network Deployment Liberty,那么可使用其 collectiveController-1.0 功能部件处理 WebSphere Application Server LibertyWebSphere Application Server Liberty Core 安装中的集合体成员。
要启用主机信息覆盖,请将下列元素添加到 server.xml 文件:
<hostAuthInfo rpcPort="ssh_port"
          rpcUser="user_ID"
          rpcUserPassword="password"
          rpcUserHome="user_home"
          rpcHost="host_name"
          sudoUser="sudo_user"
          sudoPassword="sudo_user_password"
          sshPublicKeyPath="public_key_path"
          sshPrivateKeyPath="private_key_path"
          sshPrivateKeyPassword="private_key_password"
          useHostCredentials="true_or_false"/>
rpcPort
此参数对 RPC 机制指定端口,缺省情况下为 SSH 端口 22。如果系统使用非标准端口,请相应地设置此值。如果未指定此值,那么缺省值为 22
rpcUser
此参数指定集合体控制器将用来连接至服务器的用户标识。如果主机不支持 SSH 或者使用 SSH 密钥不可取,那么您可以使用此参数指定操作系统登录用户。例如,如果使用 myID 用户登录主机,请指定 rpcUser="myID"。如果未指定此值,那么缺省值为 System.getProperty("user.name")
rpcUserPassword
此参数为所指定的用户标识指定密码。例如,如果使用 myID 用户和 myPwd 密码登录主机,请指定 rpcUser="myID"rpcUserPassword="myPwd"。如果未指定此值,那么服务器将生成 SSH 密钥对,或者将 SSH 密钥对用于连接(使用 privateKeyPathpublicKeyPath 参数来指定)。如果服务器(例如 Windows 或 OS/400® 操作系统)上未安装 SSH,那么需要密码。
rpcUserHome
此参数指定用户的主目录。如果未指定此值,那么缺省值为 System.getProperty("user.home")。如果指定了 rpcUser,请指定 rpcUserHome
rpcHost
此参数指定 RPC 机制配置为要侦听的主机。如果未指定此值,那么缺省值为 defaultHostName 变量的值。如果系统使用 defaultHostName 以外的主机,请相应地设置此值。
sudoUser
如果指定此值,那么允许集合体控制器以另一用户身份(也就是“sudo”用户身份)取代用于连接的用户标识来运行命令。此参数仅适用于安装了 SSH 服务器的服务器。此参数没有缺省值。
sudoPassword
此参数对使用 sudoUser 参数指定的 sudo 用户指定密码。此参数仅适用于安装了 SSH 服务器的服务器。此参数没有缺省值。
sshPublicKeyPath
此参数指定用户指定的公用密钥文件的路径和文件名。如果未指定此值,那么缺省值为 ${server.output.dir}/resources/security/ssh/id_rsa.pub。如果指定的文件(或缺省文件)不存在,那么将生成新的公用密钥文件。
sshPrivateKeyPath
此参数指定用户指定的专用密钥文件的路径和文件名。如果未指定此值,那么缺省值为 ${server.output.dir}/resources/security/ssh/id_rsa。如果指定的文件(或缺省文件)不存在,那么将生成新的专用密钥文件。
sshPrivateKeyPassword
此参数指定专用密钥的密码。此参数没有缺省值。
useHostCredentials
此参数指定集合体成员服务器命令是否从主机继承 RPC 凭证。缺省值为 false,要求用户对控制器指定 RPC 凭证以远程启动或停止成员。设置为 true 时,集合体成员服务器命令通过主机注册继承 RPC 凭证并忽略 hostAuthInfo 配置元素中的所有其他 RPC 凭证。

示例

场景 1:服务器位于 Windows 操作系统上,未安装 SSH
<hostAuthInfo rpcUserPassword="myPassword"/>
场景 2:服务器安装了 SSH,而 SSH 正在端口 2222 上运行
<hostAuthInfo rpcPort="2222"/>
场景 3:需要以另一用户身份运行命令
<hostAuthInfo sudoUser="anotherUser" sudoPassword="anotherPassword"/>
场景 4:服务器在 Windows 操作系统上,并且已安装 SSH 服务(例如 Cygwin)。通过以下服务器配置,控制器将使用 SSH 连接成员服务器。在此情况下,禁用 Windows 用户帐户控制 (UAC) 的要求不适用。参数 <user's home directory> 是用户缺省主目录,例如 C:\cygwin\home\bob
<hostAuthInfo rpcUserHome="<user's home directory>" />
场景 5:集合体控制器和成员在不同主机上,而不在同一主机上。要指定成员从主机继承 RPC 凭证,请在成员的 server.xml 文件中将 useHostCredentials 设置为 true。完成以下步骤以将成员配置为从主机继承 RPC 凭证(通过在将服务器作为成员加入集合体的 join 命令中指定 --useHostCredentials)。
  1. 配置 Liberty 集合体的步骤 1 中所示,创建、配置并启动名为 myController 的集合体控制器。
  2. 向集合体注册成员的主机。成员和集合体控制器在不同主机上。

    在此场景中,registerHost 命令使用集合体控制器主机 hostA.ibm.com 及端口号 9443、用户 admin 和密码 adminpwd。此命令向集合体注册成员主机 hostB.ibm.com;并将 rpcUser 设置为成员主机 osUser1 的操作系统登录用户标识,并将 rpcUserPassword 设置为成员主机 osUser1Pwd 的用户标识的操作系统登录密码。在集合体控制器主机上运行 registerHost 命令。

    wlp/bin/collective registerHost hostB.ibm.com --host=hostA.ibm.com --port=9443 --user=admin --password=adminpwd --rpcUser=osUser1 --rpcUserPassword=osUser1Pwd

    [18.0.0.1 and later]要减少所需的选项数目,请使用 --controller 选项,而不是 --user--password--host--port

    wlp/bin/collective registerHost hostB.ibm.com --controller=admin:adminpwd@hostA.ibm.com:9443 --rpcUser=osUser1 --rpcUserPassword=osUser1Pwd

    系统提示接受证书链时,输入 y(是)。注册后,将显示以下消息:主机 hostB.ibm.com 已成功注册。集合体控制器主机现在已具有该成员主机的操作系统用户标识和密码。

  3. 在成员主机上,创建名为 myMember 的服务器以用作集合体成员。
    wlp/bin/server create myMember
  4. myMember 服务器添加至集合体控制器(指定以使用主机凭证)。在 join 命令(此命令在成员主机上运行)中,指定 --useHostCredentials 以便成员通过主机注册继承 RPC 凭证。
    wlp/bin/collective join myMember --host=hostA.ibm.com --port=9443 --user=admin --password=adminpwd --keystorePassword=memberKSPassword --useHostCredentials

    [18.0.0.1 and later]要减少所需的选项数目,请使用 --controller 选项,而不是 --user--password--host--port

    wlp/bin/collective join myMember --controller=admin:adminpwd@hostA.ibm.com:9443 --keystorePassword=memberKSPassword --useHostCredentials
  5. 配置 Liberty 集合体的步骤 2 中所示更新成员 server.xml 文件。

    因为您在 join 命令中指定了 --useHostCredentials,为成员 server.xml 文件生成的配置将 useHostCredentials 设置为 true

    <!-- Remote host authentication configuration -->
    <hostAuthInfo useHostCredentials="true" />
通过 --useHostCredentials 选项,不必在成员 server.xml 文件中指定操作系统用户标识和密码,因为该成员从主机继承凭证。以后如果成员服务器的操作系统用户标识或密码更改,请运行 updateHost 命令以更改用户标识或密码。有关 registerHostupdateHost 命令的更多信息,请参阅向 Liberty 集合体注册主机

用于指示主题类型的图标 参考主题

文件名:ragt_wlp_server_host.html