Sun logo      上一页      目录      下一页     

Sun Java System Application Server Enterprise Edition 8.1 管理指南 2005Q1

第 4 章
配置节点代理

本章介绍了 Application Server 中的节点代理。它包含以下几节:


关于节点代理

节点代理

节点代理是托管服务器实例的每台计算机上都需要的轻量代理,包括托管域管理服务器 (DAS) 的计算机。节点代理可以:

下图说明了节点代理的整个体系结构:

图 4-1

此图显示了节点代理体系结构、DAS 上的中心系统信息库和本地系统信息库高速缓存。

节点代理体系结构

自动创建的节点代理

安装 Application Server 时,默认情况下将使用该计算机的主机名创建节点代理。必须先在本地计算机上手动启动节点代理之后,该节点代理才能运行。

节点代理和服务器实例管理

即使未运行节点代理,您也可以创建和删除服务器实例。但是,节点代理必须处于运行状态,您才能用它来启动和停止服务器实例。

如果停止节点代理,则该节点代理管理的服务器实例也将被停止。

其他节点代理

一个节点代理服务一个域。如果一台计算机托管在多个域中运行的实例,则该计算机必须运行多个节点代理。

节点代理占位符

您可以使用节点代理占位符创建和删除不具有现有节点代理的服务器实例。占位符是在节点代理的本地系统中创建节点代理本身之前,在域管理服务器 (DAS) 上创建的节点代理配置。


当您创建占位符节点代理之后,即可使用该占位符节点代理在域中创建实例。但是,在启动实例之前,您必须先使用 asadmin 命令在实例将要驻留的计算机上从本地创建并启动实际的节点代理。请参见“创建节点代理”和“启动节点代理”了解更多信息。


部署节点代理

您可以使用以下两种方式之一来配置和部署节点代理:

部署节点代理之前

部署节点代理之前,请执行以下步骤:

  1. 安装域管理服务器。
  2. 启动域管理服务器。

启动并运行域管理服务器后,便可以开始进行联机或脱机部署。

联机部署

如果开始配置域之前已经知道该域的拓扑并且具有用于该域的硬件,则可以通过联机部署来配置域。

下图总结了节点代理的联机部署:

图 4-2 联机节点代理部署

此图显示了联机部署节点代理的步骤。

要配置联机部署,请执行以下步骤:

  1. 在将要托管服务器实例的每台计算机上安装节点代理。
  2. 使用安装程序或 asadmin 命令 create-node-agent。如果某台计算机需要多个节点代理,请使用 asadmin 命令 create-node-agent 来创建这些节点代理。

    详细信息,请参见“创建节点代理”。

  3. 使用 asadmin 命令 start-node-agent 启动节点代理。
  4. 启动之后,节点代理将与域管理服务器进行通信 (DAS)。当节点代理到达 DAS 时,将在 DAS 上创建该节点代理的配置。具备了配置之后,即可在管理控制台中查看该节点代理。

    详细信息,请参见“启动节点代理”。

  5. 配置域,包括创建服务器实例和群集以及部署应用程序。

脱机部署

脱机方法使您可以在配置各个本地计算机之前轻松地定义和重新安排域中的项。

下图总结了脱机部署的步骤。

图 4-3 脱机节点代理部署

此图显示了脱机部署节点代理的步骤。

在本地计算机中设置节点代理之前要配置域和服务器实例(脱机配置),请执行以下步骤:

  1. 在域管理服务器中创建占位符节点代理。
  2. 详细信息,请参见“创建节点代理占位符”。

  3. 创建服务器实例和群集并部署应用程序。
  4. 在将要托管服务器实例的每台计算机上安装节点代理。
  5. 使用安装程序或 asadmin 命令 create-node-agent。节点代理的名称必须与先前创建的占位符节点代理的名称相同。

    详细信息,请参见“创建节点代理”。

  6. 使用 asadmin 命令 start-node-agent 启动节点代理。
  7. 节点代理启动之后,它将绑定到域管理服务器并创建先前已与该节点代理相关联的所有服务器实例。

    详细信息,请参见“启动节点代理”。

节点代理和域管理服务器同步

由于配置数据既存储在域管理服务器的系统信息库(中心系统信息库)中,又高速缓存在节点代理的本地计算机中,因此这两者必须同步。

节点代理同步

第一次启动节点代理时,该节点代理将向域管理服务器 (DAS) 发送一个请求,以获得中心系统信息库中的最新信息。当节点代理成功地与 DAS 取得联系并获得配置信息时,该节点代理即绑定到该 DAS。

如果您在 DAS 上创建了占位符节点代理,则第一次启动节点代理时,该节点代理将从 DAS 的中心系统信息库中获取其配置。

初始启动节点代理过程中,如果由于没有运行 DAS 而使该节点代理无法到达 DAS,则该节点代理将停止并保持未绑定状态。

如果在域中更改了节点代理的配置,这些更改将在节点代理运行时自动与本地计算机中的节点代理进行通信。

如果删除了 DAS 中的一个节点代理配置,则下次该节点代理进行同步时将停止它自身并将自身标记为待删除状态。使用本地 asadmin 命令 delete-node-agent 手动删除该节点代理。

服务器实例同步

如果使用管理控制台或 asadmin 工具显式启动了服务器实例,则该服务器实例将与中心系统信息库同步。如果此同步失败,则服务器实例不会启动。

如果节点代理未通过向管理控制台或 asadmin 工具发送显式请求来启动服务器实例,将不同步该服务器实例的系统信息库高速缓存。该服务器实例将以存储在其高速缓存中的配置运行。

同步大型应用程序

当环境中有大型应用程序要进行同步或者可用内存受到限制时,您可以调整 JVM 选项以限制内存的使用。这种调整将减少收到内存不足错误的可能性。实例同步 JVM 使用的是默认设置,但您可以配置 JVM 选项来更改这些设置。

可以使用 INSTANCE-SYNC-JVM-OPTIONS 属性设置 JVM 选项。设置属性的命令为:

asadmin set domain.node-agent.node_agent_name.property.INSTANCE-SYNC-JVM-OPTIONS="JVM_options"

例如:

asadmin set domain.node-agent.node0.property.INSTANCE-SYNC-JVM-OPTIONS="-Xmx32m -Xss2m"

在此示例中,节点代理为 node0,JVM 选项为 -Xmx32m -Xss2m。

有关 JVM 选项的更多信息,请参见:

http://java.sun.com/docs/hotspot/VMOptions.html


更改 INSTANCE-SYNC-JVM-OPTIONS 属性后,请重新启动节点代理,因为在节点代理的配置中添加或更改了某个属性时节点代理并不会自动同步。


查看节点代理日志

每个节点代理都有自己的日志文件。如果使用节点代理时遇到问题,请参见位于以下位置的日志文件:

node_agent_dir/node_agent_name/agent/logs/server.log

有时,节点代理日志会指示您查看服务器的日志以获得关于所出现的问题的详细消息。

服务器日志位于:

node_agent_dir/node_agent_name/server_name/logs/server.log

node_agent_dir 的默认位置为 install_dir/nodeagents

可以通过管理控制台和 asadmin 工具执行的任务

对于节点代理,有些任务必须从运行该节点代理的系统本地执行,而其他任务则可以在域管理服务器中执行。需要本地执行的任务只能在节点代理驻留的计算机中通过运行 asadmin 工具来执行。在域管理服务器中运行的任务则可以通过管理控制台和 asadmin 工具来执行。

下表总结了这些任务以及执行这些任务的方式:

表 4-1 可以通过管理控制台和 asadmin 命令执行的任务

任务

管理控制台

asadmin 命令

在域管理服务器中创建节点代理占位符/配置

“创建节点代理占位符”页面

create-node-agent-config

创建节点代理

不可用

create-node-agent

启动节点代理

不可用

start-node-agent

停止节点代理

不可用

stop-node agent

从域管理服务器中删除节点代理配置

“节点代理”页面

delete-node-agent-config

从本地计算机中删除节点代理

不可用

delete-node-agent

编辑节点代理配置

“节点代理”页面

set

列出节点代理

“节点代理”页面

list-node-agents


用于节点代理的管理控制台任务

查看常规节点代理信息

创建节点代理或节点代理占位符后,便可以查看其设置:

  1. 在树组件中,选择“节点代理”节点。
  2. 单击一个节点代理的名称。
  3. 如果节点代理已经存在但并未在此处显示,请在节点代理的主机上使用 asadmin start-node-agent 来启动该节点代理。详细信息,请参见“启动节点代理”。

  4. 检查节点代理的主机名。
  5. 如果主机名为“未知主机”,则该节点代理没有同域管理服务器 (DAS) 进行初始联系。

  6. 检查节点代理的状态。
  7. 正在运行。已正确创建节点代理,并且当前该节点代理正在运行。

    未运行。存在以下情形之一:

    • 已在本地计算机中创建了节点代理,但从未启动过该节点代理。
    • 以前启动过节点代理,但现在已停止。

    等待会合。节点代理是从未在本地计算机中创建的占位符。

    有关创建和启动节点代理的更多信息,请参见“创建节点代理”和“启动节点代理”。

  8. 选择启动节点代理时是否启动实例。
  9. 选择“是”,将在启动节点代理时自动启动与该节点代理关联的服务器实例。选择“否”以手动启动这些实例。

  10. 确定节点代理是否已同域管理服务器进行了联系。
  11. 如果节点代理从未与域管理服务器进行过联系,则该节点代理从未被成功启动过。

  12. 管理与节点代理关联的服务器实例。
  13. 如果节点代理正在运行,则通过单击实例名称旁边的复选框并单击“启动”或“停止”来启动或停止实例。

创建节点代理占位符

由于必须从托管节点代理的计算机本地创建节点代理,因此您只能通过管理控制台为节点代理创建占位符。此占位符是尚不存在的节点代理的节点代理配置。

创建一个占位符之后,请在托管节点代理的计算机中使用 asadmin 命令 create-node-agent 完成节点代理的创建。有关更多信息,请参见“创建节点代理”。

  1. 在树组件中,选择“节点代理”节点。
  2. 在“节点代理”页面中,单击“新建”。
  3. 在“当前节点代理占位符”页面中为新节点代理输入一个名称。
  4. 在域中的所有节点代理名称、服务器实例名称、群集名称和配置名称中,此名称必须是唯一的。

  5. 单击“确定”。
  6. 新节点代理的占位符将列出在“节点代理”页面中。

等效的 asadmin 命令为:create-node-agent-config

删除节点代理配置

通过管理控制台,您只能删除域中的节点代理配置,而不能删除实际的节点代理。要删除节点代理本身,请在该节点代理的本地计算机中运行 asadmin 命令 delete-node-agent。有关更多信息,请参见“删除节点代理”。

删除节点代理配置之前,必须停止该节点代理并且该节点代理不能有任何关联的实例。要停止节点代理,请使用 asadmin 命令 stop-node-agent。详细信息,请参见“停止节点代理”。

  1. 在树组件中,选择“节点代理”节点。
  2. 在“节点代理”页面中,选中要删除的节点代理旁边的复选框。
  3. 单击“删除”。

等效的 asadmin 命令为:delete-node-agent-config

编辑节点代理配置

要编辑节点代理配置,请执行以下步骤:

  1. 在树组件中,展开“节点代理”节点。
  2. 选择要编辑的节点代理配置。
  3. 在“节点代理常规信息”页面中,选择启动代理时是否启动代理的服务器实例。您还可以从此页面手动启动和停止实例。

如果此配置用于占位符节点代理,则使用 asadmin create-node-agent 创建实际的节点代理时,实际的节点代理将使用该配置。有关创建节点代理的信息,请参见“创建节点代理”。

如果此配置是现有节点代理的配置,则将自动同步此节点代理配置信息。

编辑节点代理区域

为连接到节点代理的用户设置验证区域。只有管理用户才能访问节点代理。

  1. 在树组件中,展开“节点代理”节点。
  2. 选择要编辑的节点代理配置。
  3. 单击“验证区域”选项卡。
  4. 在“节点代理编辑区域”页面中,输入一个区域。
  5. 默认区域为 admin-realm,它是您在创建节点代理时创建的。要使用其他区域,请用新区域替换由域控制的所有组件中的区域,否则这些组件将无法正常通信。

  6. 在“类名”字段中,指定实现该区域的 Java 类。
  7. 添加需要的所有属性。
  8. 验证区域需要特定于提供商的属性,这些属性会因特定实现的需求而有所不同。

编辑节点代理的 JMX 侦听器

节点代理使用 JMX 与域管理服务器进行通信。因此,该节点代理必须具有侦听 JMX 请求的端口和其他侦听器信息。

  1. 在树组件中,展开“节点代理”节点。
  2. 选择要编辑的节点代理配置。
  3. 单击“JMX”选项卡。
  4. 如果侦听器将侦听服务器的所有 IP 地址,请在“地址”字段中键入 0.0.0.0 并使用唯一的端口值。否则,请键入此服务器的有效 IP 地址。
  5. 在“端口”字段中,键入节点代理的 JMX 连接器要侦听的端口值。如果 IP 地址为 0.0.0.0,则端口号必须唯一。
  6. 在“JMX 协议”字段中,键入 JMX 连接器支持的协议。
  7. 默认值为 rmi_jrmp。

  8. 单击“接受所有地址”旁边的复选框以允许连接到所有 IP 地址。
  9. 节点代理将侦听与网卡相关联的特定 IP 地址或侦听所有 IP 地址。如果接受所有地址,则会将值 0.0.0.0 放入“侦听主机地址”属性中。

  10. 在“区域名称”字段中,键入为侦听器处理验证的区域的名称。

在此页面的“安全性”部分中,您可以将侦听器配置为使用 SSL 安全性、TLS 安全性或同时使用 SSL 和 TLS 安全性。

要设置安全侦听器,请执行以下操作:

  1. 在“安全性”字段中选中“启用”框。
  2. 默认情况下,启用“安全性”。

  3. 要使客户机在使用此侦听器时自行向服务器进行验证,请在“客户机验证”字段中选中“已启用”框。
  4. 在“证书昵称”字段中输入现有服务器密钥对和证书的名称。有关详细信息,请参见“安全性”一章。
  5. 在“SSL3/TLS”部分:
    1. 选取要在侦听器上启用的安全协议。必须选取 SSL3 或 TLS, 或同时选取两者。
    2. 选取协议所使用的加密算法套件。要启用所有加密算法套件,请选取“所有支持的加密算法套件”。
  6. 单击“保存”。


在 asadmin 工具中用于节点代理的任务

创建节点代理

要创建节点代理,请在运行该节点代理的计算机中本地运行 asadmin 命令 create-node-agent

例如:

$ asadmin create-node-agent --host myhost --port 4849 ---user admin nodeagent1

其中,myhost 是域管理服务器 (DAS) 主机名,4849 是 DAS 端口号,admin 是 DAS 用户,nodeagent1 是要创建的节点代理的名称。

节点代理的默认名称为创建节点代理时所在的主机的名称。

如果已创建节点代理占位符,请使用与节点代理占位符相同的名称来创建相应的节点代理。如果您尚未创建节点代理占位符,而 DAS 已启动并且可访问,则 create-node-agent 命令还将在 DAS 上创建节点代理配置(占位符)。

有关命令语法的完整说明,请参见该命令的联机帮助。


在以下情况下,必须指定一个 DNS 可访问的主机名:

1. 域跨越了子网边界(即,节点代理和域管理服务器 [DAS] 处于不同的域中,例如 sun.com 和 java.com)

2. 使用未在 DNS 中登记的主机名的 DHCP 计算机

创建域和节点代理时,可通过明确指明域和节点代理的主机名指定一个 DNS 可访问的主机名:

create-domain --domainproperties domain.hostName=DAS-host-name

create-node-agent --host DAS-host-name --agentproperties remoteclientaddress=node-agent-host-name

另外一种解决方案是更新特定于平台的 hosts 主机名/IP 解析文件,从而将主机名解析为正确的 IP 地址。但是,使用 DHCP 重新连接时,可能会为您分配不同的 IP 地址。在这种情况下,您必须更新每个服务器中的主机解析文件。


启动节点代理

必须先运行节点代理,然后它才能管理服务器实例。通过在节点代理所驻留的系统中以本地方式运行 asadmin 命令 start-node-agent 来启动节点代理。

例如:

$ asadmin start-node-agent --user admin nodeagent1

其中,admin 是管理员用户,nodeagent1 是要启动的节点代理。

有关命令语法的完整说明,请参见该命令的联机帮助。

停止节点代理

要停止正在运行的节点代理,请在该节点代理驻留的系统中运行 asadmin 命令 stop-node-agentstop-node-agent 命令将停止节点代理所管理的所有服务器实例。

例如:

$ asadmin stop-node-agent nodeagent1

其中的 nodeagent1 是节点代理。

有关命令语法的完整说明,请参见该命令的联机帮助。

删除节点代理

要删除节点代理文件,请在该节点代理驻留的系统中运行 asadmin 命令 delete-node-agent

删除节点代理之前,必须先停止节点代理。您还可以删除从未启动过或者从未成功地与域管理服务器连接(即尚未绑定)的节点代理。

例如:

$ asadmin delete-node-agent nodeagent1

其中的 nodeagent1 是节点代理。

有关命令语法的完整说明,请参见该命令的联机帮助。

删除节点代理时,您还必须使用管理控制台或 asadmin delete-node-agent-config 命令将该节点代理的配置从域管理服务器中删除。



上一页      目录      下一页     


版权所有 2004 - 2005 Sun Microsystems, Inc. 保留所有权利。