Sun Java System Application Server 9.1 高可用性管理指南

第 6 章 使用 Application Server 群集

本章介绍如何使用 Application Server 群集。它包含以下小节:

群集概述

群集是命名的服务器实例集合,它们共享相同的应用程序、资源和配置信息。您可以将不同计算机上的服务器实例分组到一个逻辑群集中并将其作为一个单元来管理。您可以使用 DAS 轻松控制多机群集的生命周期。

群集可以启用水平可伸缩性、负载平衡和故障转移保护。根据定义,群集中的所有实例都具有相同的资源和应用程序配置。当群集中的服务器实例或计算机出现故障时,负载平衡器检测到该故障,会将通信从出现故障的实例重定向至群集中的其他实例,并恢复用户会话状态。由于群集中所有实例上的应用程序和资源都相同,因此一个实例可以故障转移至群集中的任何其他实例。

组管理服务

组管理服务 (Group Management Service, GMS) 是为群集中的实例启用的基础结构组件。启用了 GMS 时,如果群集实例出现故障,群集和域管理服务器将可以识别该故障,并在出现故障时采取行动。Application Server 的许多功能依赖于 GMS。例如,IIOP 故障转移、内存中复制、事务服务和计时器服务功能均使用 GMS。

如果群集中的服务器实例位于不同的计算机上,请确保这些计算机在同一子网上。


注 –

GMS 功能在开发者配置文件中不可用。在群集配置文件和企业配置文件中,默认情况下启用 GMS。


GMS 是 Shoal 框架的核心服务。有关 Shoal 的更多信息,请访问项目 Shoal 主页

Procedure对群集启用或禁用 GMS

  1. 在树组件中,选择“群集”。

  2. 单击群集的名称。

  3. 在“常规信息”下,确保根据需要选中或取消选中了“启用心跳”复选框。

    • 要启用 GMS,请确保选中“启用心跳”复选框。

    • 要禁用 GMS,请确保取消选中“启用心跳”复选框。

  4. 如果要启用 GMS 且需要与这些默认值不同的值,请为 GMS 更改默认端口和 IP 地址。

  5. 单击“保存”。

配置 GMS

通过更改确定 GMS 检查故障的频率的设置,配置适合您环境的 GMS。例如,可以更改故障检测尝试之间的超时、对可疑故障成员的重试次数或检查群集成员时的超时。

要在管理控制台中配置监视,请转到 Application Server 节点–>“配置”–>“组管理服务”。

等效的 asadmin 命令是 getset

使用群集

Procedure创建群集

  1. 在树组件中,选择“群集”节点。

  2. 在“群集”页面中,单击“新建”。

    将显示“创建群集”页面。

  3. 在“名称”字段中,键入群集的名称。

    名称必须:

    • 仅由大小写字母、数字、下划线、连字符和句点 (.) 组成

    • 在所有节点代理名称、服务器实例名称、群集名称和配置名称中都是唯一的

    • 不能是 domain

  4. 在“配置”字段中,从下拉式列表中选择配置。

    • 要创建不使用共享配置的群集,请选择 default-config

      使标有“复制选定的配置”的单选按钮保持选定状态。默认配置的副本的名称将为 cluster_name-config

    • 要创建使用共享配置的群集,请从下拉式列表中选择该配置。

      选择标有“引用选定的配置”的单选按钮,以创建使用指定的现有共享配置的群集。

  5. 另外,添加服务器实例。

    您也可以在创建群集后添加服务器实例。

    为群集添加服务器实例之前,请先创建一个或多个节点代理或节点代理占位符。请参见创建节点代理占位符

    创建服务器实例:

    1. 在“要创建的服务器实例”区域,单击“添加”。

    2. 在“实例名称”字段中为实例输入名称。

    3. 从“节点代理”下拉式列表中选择节点代理。

  6. 单击“确定”。

  7. 在显示的“已成功创建群集”页面中单击“确定”。

等效的 asadmin 命令

create-cluster

另请参见

有关如何管理群集、服务器实例和节点代理的详细信息,请参见部署节点代理

Procedure为群集创建服务器实例

开始之前

为群集创建服务器实例之前,必须先创建节点代理或节点代理占位符。请参见创建节点代理占位符

  1. 在树组件中,展开“群集”节点。

  2. 选择群集的节点。

  3. 单击“实例”选项卡以显示“群集服务器实例”页面。

  4. 单击“新建”以显示“创建群集服务器实例”页面。

  5. 在“名称”字段中,键入服务器实例的名称。

  6. 从“节点代理”下拉式列表中选择节点代理。

  7. 单击“确定”。

等效的 asadmin 命令

create-instance

另请参见

Procedure配置群集

  1. 在树组件中,展开“群集”节点。

  2. 选择群集的节点。

    在“常规信息”页面中,您可以执行以下任务:

    • 单击“启动实例”以启动群集服务器实例。

    • 单击“停止实例”以停止群集服务器实例。

    • 单击“迁移 EJB 计时器”以将 EJB 计时器从已停止的服务器实例迁移到群集中的其他服务器实例。

等效的 asadmin 命令

start-clusterstop-clustermigrate-timers

另请参见

Procedure启动、停止和删除群集实例

  1. 在树组件中,展开“群集”节点。

  2. 展开包含服务器实例的群集的节点。

  3. 单击“实例”选项卡以显示“群集服务器实例”页面。

    在此页面中,您可以执行以下操作:

    • 选中一个实例的复选框,然后单击“删除”、“启动”或“停止”,以对所有指定的服务器实例执行选定的操作。

    • 单击实例的名称,以显示“常规信息”页面。

Procedure在群集中配置服务器实例

  1. 在树组件中,展开“群集”节点。

  2. 展开包含服务器实例的群集的节点。

  3. 选择服务器实例节点。

  4. 在“常规信息”页面中,您可以执行以下操作:

    • 单击“启动实例”以启动实例。

    • 单击“停止实例”以停止正在运行的实例。

    • 单击“JNDI 浏览”以浏览正在运行的实例的 JNDI 树。

    • 单击“查看日志文件”,以打开服务器日志查看器。

    • 单击“轮转日志文件”,以轮转实例的日志文件。该操作将安排日志文件以进行轮转。实际的轮转将在下一次向日志文件写入条目时发生。

    • 单击“恢复事务”以恢复未完成的事务。

    • 单击“属性”选项卡,以修改实例的端口号。

    • 单击“监视”选项卡,以更改监视属性。

另请参见

Procedure为群集配置应用程序

  1. 在树组件中,展开“群集”节点。

  2. 选择群集的节点。

  3. 单击“应用程序”选项卡,以显示“应用程序”页面。

    在此页面中,您可以执行以下操作:

    • 从“部署”下拉式列表中,选择要部署的应用程序的类型。在显示的“部署”页面中,指定应用程序。

    • 从“过滤器”下拉式列表中,选择要在列表中显示的应用程序的类型。

    • 要编辑应用程序,请单击应用程序名称。

    • 选中应用程序旁边的复选框,然后选择“启用”或“禁用”以启用或禁用用于群集的应用程序。

另请参见

Procedure为群集配置资源

  1. 在树组件中,展开“群集”节点。

  2. 选择群集的节点。

  3. 单击“资源”选项卡,以显示“资源”页面。

    在此页面中,您可以执行以下操作:

    • 为群集创建新资源:从“新建”下拉式列表中,选择要创建的资源的类型。创建资源时,请确保将群集指定为目标。

    • 全局启用或禁用资源:选中资源旁边的复选框,然后单击“启用”或“禁用”。该操作不会删除资源。

    • 仅显示特定类型的资源:从“过滤器”下拉式列表中,选择要在列表中显示的资源的类型。

    • 编辑资源:单击资源名称。

另请参见

Procedure删除群集

  1. 在树组件中,选择“群集”节点。

  2. 在“群集”页面中,选中群集名称旁边的复选框。

  3. 单击“删除”。

等效的 asadmin 命令

delete-cluster

另请参见

Procedure迁移 EJB 计时器

如果服务器实例非正常或意外地停止运行,则可能需要将该服务器实例上安装的 EJB 计时器移至群集中正在运行的服务器实例。要完成此操作,请执行以下步骤:

  1. 在树组件中,展开“群集”节点。

  2. 选择群集的节点。

  3. 在“常规信息”页面中,单击“迁移 EJB 计数器”。

  4. 在“迁移 EJB 计时器”页面中:

    1. 从“源”下拉式列表中,选择要迁移的计时器所在的已停止的服务器实例。

    2. (可选的)从“目标”下拉式列表中,选择要将计时器迁移到的正在运行的服务器实例。

      如果将该字段保留为空,将随机选择一个正在运行的服务器实例。

    3. 单击“确定”。

  5. 停止并重新启动目标服务器实例。

    如果源服务器实例正在运行或目标服务器实例未运行,则管理控制台将显示一条错误消息。

等效的 asadmin 命令

migrate-timers

另请参见

Procedure升级组件而不使服务受到任何损失

在 Application Server 中,您可以使用负载平衡器和多个群集来升级组件,而不使服务受到任何损失。例如,组件可以是 JVM、Application Server 或 Web 应用程序。

在以下情况下不能使用此方法:


注意 – 注意 –

请同时升级群集中的所有服务器实例。否则,可能会出现由从运行不同版本的组件的一个实例到另一个实例的会话故障转移引起的版本不匹配。


  1. 使用群集的“常规信息”页面上的“停止群集”按钮来停止其中一个群集。

  2. 升级该群集中的组件。

  3. 使用群集的“常规信息”页面上的“启动群集”按钮来启动群集。

  4. 对其他群集逐个重复此过程。

    由于一个群集中的会话决不会故障转移到另一个群集中的会话,因此不会出现由会话故障转移所引起的版本不匹配,这种故障转移是指从运行一个版本的组件的服务器实例故障转移到运行其他版本的组件的另一个服务器实例(位于其他群集中)。这样,群集就用作了它所包含的服务器实例的会话故障转移的安全边界。

另请参见