前面几章介绍了配置以及如何将配置部署到节点。在本章中,将设置一个简单的服务器群和群集。
群集是一组实例,跨越一个或多个节点,全部运行相同的配置并提供一组相同的运行时服务。每个群集必须包含一个指定为管理服务器的服务器。如果有多个群集,则可以通过一个主管理服务器来管理所有群集。主管理服务器将检索所有群集的相关信息,并提供一个界面以管理各个群集中安装的服务器。
群集中的所有实例都必须是同源的。例如,所有实例都在相同的操作系统版本(和修补程序)以及服务包中运行,运行相同的 Web 服务器配置并提供相同的服务。
要设置群集,需要首先安装一个 Administration Server 和一个或多个管理节点。要管理这些管理节点,需要分别将其在管理服务器中注册。在安装节点过程中或安装之后,可通过 wadm CLI 执行注册操作。
安装 Administration Server 和管理节点
安装管理服务器。可通过 Web Server 安装程序 GUI 或 wadm CLI 来安装管理服务器。
您可以选择快速安装选项,它将在端口 8989 上安装管理服务器。或者,也可以选择自定义安装选项以设置您的首选项。要安装管理服务器,请在安装程序设置屏幕中选择选项将服务器安装为 Administration Server。您需要指定 SSL 端口,但可以指定一个非 SSL 端口,也可以不指定。
如果指定了非 SSL 端口,将会在管理服务器节点中创建一个管理节点,无需显式在管理服务器中注册该管理节点。
要安装管理节点,请选择自定义安装,然后选择将服务器安装为管理节点。指定用于安装的端口。您不可以选择非 SSL 端口,因为管理服务器与管理节点之间的通信通过安全通道进行。安装过程中,将会询问您是否需要在管理服务器中注册该节点。如果选择在安装过程中不注册节点,可以使用 wadm CLI 来执行该操作。
通过快速安装不能安装管理节点。
在 Administration Server 中注册管理节点
要使管理节点成为群集或服务器群的一部分,必须在管理服务器中注册这些管理节点。管理节点只有在管理服务器中注册后才可以启动。要注册管理节点,请通过 wadm CLI 执行以下命令:
wadm> register-node --user <admin-user> --port <SSL Port> --host <node name> |
安装管理服务器过程中指定了此端口。host 是安装管理服务器的节点的主机名。
此操作将在管理服务器中注册该节点。
一个节点只可以通过同一节点进行注册。不能转到管理服务器的 CLI 并注册任何节点。此外,在管理服务器中注册节点只可以在 SSL 模式下进行。
要为所创建的群集设置会话复制,请参见配置会话复制。
作为此示例的一部分,将设置一个具有一个负载平衡器、一个管理服务器和四个 Web 服务器实例(启用了会话复制)的群集。会话复制为 Java Web 应用程序会话提供高可用性。它通过将驻留在一个 Web 服务器实例的内存中的会话复制多份到另一个 Web 服务器实例来实现这一目的。因此在正常操作条件下,每个会话至少存在 2 份副本,每一份驻留在独立的 JVM 中,最好位于独立的计算机中。
下图描述了简单的群集:
标识以下计算机:
MachineA-具有负载平衡器和管理服务器。
MachineB、MachineC、MachineD 和 MachineE-具有管理节点且正在运行 Web 服务器实例。
在 MachineA 中安装 Administration Server。
有关安装管理服务器的信息,请参见设置服务器群。典型的安装过程还将安装 Web 服务器实例。对于此方案,将不使用该实例。
在 MachineB、MachineC、MachineD 和 MachineE 中安装管理节点。
在所有 4 台计算机中安装管理节点。在管理服务器中注册这些管理节点。
配置 Web 应用程序。
对 Web 应用程序启用会话复制。按如下所示修改 WEb-INF/sun-web.xml 文件:
<session-manager persistence-type="replicated"/> |
配置相应的实例。
启动 wadm。
wadm --host MachineA --port 8089 |
为负载平衡器创建新的配置。
wadm> create-config --http-port=8080 --server-name=SampleCluster lb |
设置反向代理(负载平衡器)。
wadm> create-reverse-proxy --config=lb --vs=lb -uri-prefix=/ --server="http://MachineB:8080,http://MachineC:8080, ttp://MachineD:8080,http://MachineE:8080" |
创建实例。
wadm> create-instance --config=lb MachineA |
部署配置。
wadm> deploy-config lb wadm> start-instance --config=lb |
创建并启动群集。
创建具有四个实例的新配置。
为群集创建新配置。
wadm> create-config --http-port=8080 --server-name=SampleCluster clusterOf4 |
启用会话复制。
wadm> set-session-replication-prop --config=clusterOf4 enabled=true |
添加 Web 应用程序。
wadm> add-webapp --config=clusterOf4 --uri=/simple webapps-simple.war |
创建实例。
wadm> create-instance --config=clusterOf4 MachineB MachineC MachineD MachineE |
启动群集。
wadm> start-instance --config=clusterOf4 |
如果未对 start-instance 命令指定主机名,此操作将在部署了配置的所有节点中启动实例。