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


要启用主机信息覆盖,请将下列元素添加到 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 密钥对用于连接(使用 privateKeyPath 和 publicKeyPath 参数来指定)。如果服务器(例如 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)。