針對高可用性配置叢集伺服器

您可以針對叢集或高可用性配置設定多個伺服器。在此配置中,多個伺服器同時執行。

開始之前

安裝負載平衡器。此負載平衡器會將要求配送至叢集中的伺服器。

關於這項作業

若要在叢集配置中設定伺服器,請在個別系統上安裝伺服器,然後將這些伺服器連接至相同資料庫。 然後,配置負載平衡器,以在伺服器之間配送資料流量。使用者將存取負載平衡器 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. 若要安裝新的叢集伺服器,請像往常一樣安裝伺服器,但進行下列變更:
    • 將每一個伺服器連接至相同的資料庫。
    • For the host name that the users access, specify the host name of the load balancer, not the computer that hosts the server.
    • 如果您要將伺服器安裝在其他伺服器所在的電腦上,請對每一個伺服器的 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,且使用所有伺服器的容量。這些伺服器也確保每個使用者僅使用一份授權,即使使用者存取多個伺服器亦如此。

意見