可为集群或高可用性配置设置多个服务器。在此配置中,多个服务器同时运行。
开始之前
请安装负载均衡器。此负载均衡器会将请求分发至集群中的服务器。
关于此任务
要在集群配置中设置服务器,可在不同系统上安装这些服务器并将它们连接至同一数据库。然后,配置负载均衡器,以在这些服务器之间分发流量。用户访问的是负载均衡器 URL,而不是直接访问这些服务器。对用户而言,该 URL 像是托管着一个容量很高的服务器实例;用户不知道存在多个服务器。
过程
- 按照常规方法安装并配置数据库。 如果已具有数据库,那么可将它用于集群服务器。请参阅安装数据库。
- 如果您已具有一个或多个服务器,请通过以下步骤将这些服务器转换为集群服务器:
- 停止服务器。
- 在服务器上,使用文本编辑器打开文件 install_folder/ucrelease/conf/server.properties。 使用服务器安装目录替换 install_folder。
- 在此文件中,将 public.url 参数更新为负载均衡器的 URL 和端口。 请使用反斜杠 (\) 对冒号和其他特殊字符转义,如以下示例中所示:
public.url=http\://balancer.example.com\:8080
- 保存该文件。
- 要安装新的集群服务器,请照常安装这些服务器,但需要进行下列更改:
- 将每个服务器连接至同一数据库。
- 对于用户访问的主机名,请指定负载均衡器的主机名,而不是托管服务器的计算机的主机名。
- 如果要将该服务器与另一服务器安装在同一计算机上,请对每个服务器的 HTTPS 请求使用不同端口。
请参阅安装服务器。确保记下每个服务器的端口,因为您稍后将需要此信息。用于
HTTP 请求的缺省端口为 8080,用于 HTTPS 请求的缺省端口为 8443。
- 启动每个服务器。
- 登录到一个服务器,并选中使我保持已登录状态复选框。
- 打开该服务器的 server.properties 文件。
- 在 server.properties 文件中,找到属性 cookie.key 并复制该属性。 此属性指定当用户登录时包括在 cookie 中的键。稍后,您将此键复制到其他服务器,使得用户不必在每个服务器上单独登录。
- 在每个服务器的 server.properties 文件中,添加下列属性:
ha.activation.enabled=yes
ha.node.name=nodeName
cookie.key=cookieKey
对于 nodeName,为每个服务器指定唯一节点名。在设置这些服务器之后,此节点名会显示在每个服务器上。知道您正在使用哪个服务器可帮助您调试问题。要查看您正在使用的节点的名称,请在任何页面顶部单击帮助。该节点名会显示在菜单中,如下图中所示:
对于 cookieKey,指定已从第一个服务器复制的 cookie 键。此键在每个服务器上必须相同。 例如,您添加至
server.properties 文件的代码可能类似于以下示例:
ha.activation.enabled=yes
ha.node.name=HA node 1
cookie.key=D3ZizBbRSWFjdOQ8N2a/yQ\=\=
- 可选: 要将附件存储在共享目录上,请添加属性 attachments.folder.path,并指定该共享目录,如以下示例中所示:
attachments.folder.path=/
- 重新启动每个服务器。
- 配置负载均衡器,以在这些服务器之间分摊负载。 有关更多信息,请参阅负载均衡器的文档。
结果
在配置负载均衡器以将连接分发至这些服务器之后,用户可连接至单个
URL 并使用所有这些服务器的容量。这些服务器还会确保每个用户仅使用一个许可证,即使一个用户访问多个服务器,情况也是如此。