为高可用性配置集群服务器

可为集群或高可用性配置设置多个服务器。在此配置中,多个服务器同时运行。

开始之前

请安装负载均衡器。此负载均衡器会将请求分发至集群中的服务器。

关于此任务

要在集群配置中设置服务器,可在不同系统上安装这些服务器并将它们连接至同一数据库。然后,配置负载均衡器,以在这些服务器之间分发流量。用户访问的是负载均衡器 URL,而不是直接访问这些服务器。对用户而言,该 URL 像是托管着一个容量很高的服务器实例;用户不知道存在多个服务器。

过程

  1. 按照常规方法安装并配置数据库。 如果已具有数据库,那么可将它用于集群服务器。请参阅安装数据库
  2. 如果您已具有一个或多个服务器,请通过以下步骤将这些服务器转换为集群服务器:
    1. 停止服务器。
    2. 在服务器上,使用文本编辑器打开文件 install_folder/ucrelease/conf/server.properties 使用服务器安装目录替换 install_folder
    3. 在此文件中,将 public.url 参数更新为负载均衡器的 URL 和端口。 请使用反斜杠 (\) 对冒号和其他特殊字符转义,如以下示例中所示:
      public.url=http\://balancer.example.com\:8080
    4. 保存该文件。
  3. 要安装新的集群服务器,请照常安装这些服务器,但需要进行下列更改:
    • 将每个服务器连接至同一数据库。
    • 对于用户访问的主机名,请指定负载均衡器的主机名,而不是托管服务器的计算机的主机名。
    • 如果要将该服务器与另一服务器安装在同一计算机上,请对每个服务器的 HTTPS 请求使用不同端口。
    请参阅安装服务器。确保记下每个服务器的端口,因为您稍后将需要此信息。用于 HTTP 请求的缺省端口为 8080,用于 HTTPS 请求的缺省端口为 8443。
  4. 启动每个服务器。
  5. 登录到一个服务器,并选中使我保持已登录状态复选框。
  6. 打开该服务器的 server.properties 文件。
  7. server.properties 文件中,找到属性 cookie.key 并复制该属性。 此属性指定当用户登录时包括在 cookie 中的键。稍后,您将此键复制到其他服务器,使得用户不必在每个服务器上单独登录。
  8. 在每个服务器的 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\=\=
  9. 可选: 要将附件存储在共享目录上,请添加属性 attachments.folder.path,并指定该共享目录,如以下示例中所示:
    attachments.folder.path=/
  10. 重新启动每个服务器。
  11. 配置负载均衡器,以在这些服务器之间分摊负载。 有关更多信息,请参阅负载均衡器的文档。

结果

在配置负载均衡器以将连接分发至这些服务器之后,用户可连接至单个 URL 并使用所有这些服务器的容量。这些服务器还会确保每个用户仅使用一个许可证,即使一个用户访问多个服务器,情况也是如此。

反馈