從初始節點故障中復原

安裝 Tableau 的第一台電腦(「初始節點」)會有一些獨特的特性。有三個處理序只能在初始節點上執行,無法轉移到任何其他節點(出現故障的情況下除外),即授權服務(授權管理器)、啟用服務和 TSM 控制器(管理控制器)。Tableau Server 包含一個可自動將這些處理序移到您的其他現有節點之一的指令碼,使您能儘快復原 TSM 存取並保持 Tableau Server 執行。

還有兩個其他處理序最初包括在初始節點上,但可新增或轉移到其他節點,即 CFS(用戶端檔案服務) 和協調服務。視您使用 CFS 和協調服務設定安裝的方式而定,您可能也需要執行步驟來重新部署這兩個處理序。

若初始節點失敗

若初始節點出現問題,並且在其他節點上有冗餘流程,則無法保證 Tableau Server 將繼續執行。

  • Tableau Server 可以在初始節點出現故障後繼續執行長達 72 小時,然後才會因為缺少授權服務而影響其他流程。若是這樣,您的使用者可能能夠在初始節點失敗後繼續登入並查看和使用他們的內容,但您將無法重新設定 Tableau Server,因為您將無權存取管理控制器。
  • 如果執行針對 ATR 設定的 Tableau Server 2021.4.2 版本(或更早版本),則初始節點出現問題將導致所有伺服器功能不可用。無論是節點出現問題,還是您有意停止該節點(例如,執行系統級修補程式),都是如此。

即使已設定冗餘流程,在初始節點出現故障後,Tableau Server 也可能無法繼續執行。即使安裝設定為高可用性也是如此。這意味著您應該儘快將兩個唯一處理序移至另一個執行中的節點。如果您的初始節點因可在相對短的時間內復原的原因(例如,您可以校正的硬體故障)而失敗,則應先嘗試在不使用下列程序的情況下備份節點。

附註:本文中的步驟需要伺服器停機並且可能產生干擾,只應在初始化節點發生災難性失敗時使用。如果您無法再次執行初始節點,請使用以下步驟將關鍵 TSM 處理序移至叢集中的其他節點。

一般要求

2021.1 版本的 Tableau Server 已更新為具備改善的恢復功能。已針對 Tableau Server 2021.1 撰寫本主題中的程序。

如果您要嘗試從先前版本的 Tableau Server 恢復失敗的節點,就必須遵循該版本的程序。若要檢視封存版本的 Tableau 說明,請參閱 Tableau 說明(連結在新視窗開啟)

  • 在設定多節點 Tableau Server 安裝過程中,您應該已部署一個協調服務整體。以下過程假定在初始節點出現問題之前部署了一個協調整體。有關部署協調服務整體詳情,請參閱部署協調服務整體
  • 此處理序假定您已在執行協調服務的每個節點上,設定用戶端檔案服務 (CFS) 的執行個體。如果未新增額外的 CFS 執行個體,唯一的執行個體是在初始節點上,且必須將至少一個 CFS 的執行個體新增至其他節點。還需要重新填入 CFS。Tableau Server 至少需要一個 CFS 實例。有關更多資訊,請參閱設定用戶端檔服務Tableau Server Client File Service

附註:此操作包括您可能需要使用 TSM 命令列執行的步驟。

將 TSM 控制器、授權服務和啟用服務移至另一個節點

若初始節點有問題,則需要在另一個節點上啟動 TSM 控制器、授權服務和啟用服務。請按照以下步驟使用提供的 move-tsm-controller 指令碼,並讓 TSM 控制器、授權服務和啟用服務在另一個節點上運作。

  1. 在仍然工作的節點上,執行控制器復原指令碼。在工作節點上的終端提示符下,鍵入以下命令:

    sudo /opt/tableau/tableau_server/packages/scripts.<version_code>/move-tsm-controller -n <nodeID>

    其中「nodeID」是要讓 TSM 控制器在其中執行的節點的 ID。例如:

    sudo /opt/tableau/tableau_server/packages/scripts.10400.17.0802.1319/move-tsm-controller -n node2

  2. 驗證管理控制器是否正在節點上執行:

    tsm status -v

  3. 停止 Tableau Server

    此過程的剩餘步驟包括一些使用 --ignore-node-status 選項的命令。使用 --ignore-node-status 選項執行命令時,該命令的執行將不會考量指定節點的狀態。若要使用 --ignore-node-status,請指定故障的節點:

    tsm stop --ignore-node-status <nodeID>

    例如,如果節點 1 故障,請依照下列方式執行命令:

    tsm stop --ignore-node-status node1

  4. 將授權服務新增到節點:

    tsm topology set-process -pr licenseservice -n <nodeID> -c 1

  5. 從原始節點中移除舊的授權服務,其中「nodeID」是出現故障的初始節點:

    tsm topology set-process -pr licenseservice -n <nodeID> -c 0

  6. 如果正在執行以下版本之一

    • 2023.3.0 或更高版本

    • 2023.1.3 或更高版本

    • 2022.3.7 或更高版本

    • 2022.1.15 或更高版本

    或者正在執行早期版本並使用 ATR,請者新節點中新增啟用服務:

    tsm topology set-process -pr activationservice -n <nodeID> -c 1

  7. 如果正在執行這些版本之一或更高版本

    • 2023.3.0 或更高版本

    • 2023.1.3 或更高版本

    • 2022.3.7 或更高版本

    • 2022.1.15 或更高版本

    或者正在執行早期版本並使用 ATR,請從原始節點中移除舊的啟用服務,其中「nodeID」是發生故障的初始節點:

    tsm topology set-process -pr activationservice -n <nodeID> -c 0

    重要資訊: 在叢集中,如果正在執行唯一 CFS 執行個體的節點發生故障,則 CFS 管理的所有檔案都將遺失,將需要重新匯入憑證和自訂影像並變更所有相關設定來重新填充 CFS 這些文件。有關 CFS 管理的檔案清單,請參閱 Tableau Server Client File Service

  8. 如果初始節點一直都執行 訊息傳送服務,請將訊息傳送服務新增至此節點:

    tsm topology set-process -pr activemqserver -n node2 -c 1

  9. (可選)您還可以新增在初始節點上執行但不在此節點上執行的其他處理序。例如,要新增快取伺服器:

    tsm topology set-process -pr cacheserver -n node2 -c 1

  10. 套用變更:

    tsm pending-changes apply --ignore-node-status <nodeID>

    如果擱置組態需要重新啟動伺服器,pending-changes apply 命令將顯示提示,讓您知道即將重新啟動。即使伺服器已停止,也會顯示提示,但在這種情況下不會重新啟動。您可以使用 --ignore-prompt 選項隱藏提示,但這樣做不會改變重新啟動行為。如果變更不需要重新啟動,則不會出現提示即可套用變更。有關詳情,請參閱 tsm pending-changes apply

  11. (以 tableau 系統帳戶身分)重新開機 TSM 管理控制器:

    sudo su -l tableau -c "systemctl --user restart tabadmincontroller_0.service"

    附註:tabadmincontroller 可能需要幾分鐘才會重新開機。如果嘗試在下一步中控制器重新啟動之前應用待定變更,則 TSM 將無法連線到控制器。您可以使用 tsm status -v 命令驗證控制器是否正在執行。Tableau Server 管理控制器應列為「正在執行」。

  12. 應用待定變更(看上去可能不會有任何變更,但是此步驟是必需的):

    tsm pending-changes apply --ignore-node-status <nodeID>

  13. 在新控制器節點上啟用 Tableau Server 授權:

    tsm licenses activate -k <product-key>

  14. 驗證是否正確啟用了授權:

    tsm licenses list

  15. 如果初始節點正在執行協調服務,則需要部署一個不包含該節點的新協調服務整體。如果您有一個三節點叢集並且初始節點執行的是協調服務,則您必須在另一個節點上部署新的單實例協調服務整體並清理舊的整體。在此範例中,協調服務的單個實例會部署到第二個節點:

    tsm topology deploy-coordination-service -n node2 --ignore-node-status node1

  16. 如果初始節點執行的是檔存儲實例,則需要刪除該實例:

    tsm topology filestore decommission -n <nodeID> --delete-filestore

    其中 nodeID 是出現故障的初始節點。

  17. 如果您在上面部署的新協調服務整體是單個節點整體,請使用 --ignore-warnings 標誌套用暫止的變更:

    tsm pending-changes apply --ignore-node-status node1 --ignore-warnings

  18. 刪除初始節點,其中 nodeID 是出現故障的初始節點:

    tsm topology remove-nodes -n <nodeID>

  19. 如果您在上面部署的新協調服務整體是單個節點整體,請使用 --ignore-warnings 標誌套用暫止的變更:

    tsm pending-changes apply --ignore-warnings

  20. 啟動 Tableau Server

    tsm start

    此時,您的伺服器應該會啟動,您將可以使用 TSM 進行設定。下一步是取代您的初始節點,讓叢集的變回原來的節點數量。執行這項操作的方式取決於您是否要重複使用失敗的節點。建議您僅當可以確定失敗的原因並採取步驟防止失敗再次發生時,重複使用該節點。

  21. 如果您打算重複使用原始節點,您首先需要從其完全移除 Tableau。您可以藉由執行 tableau-server-obliterate 指令碼來執行此動作。有關更多詳情,請參閱從電腦中移除 Tableau Server

  22. 在新電腦或完全移除 Tableau 後的原始電腦上,請使用原始安裝程式和正在執行管理控制器和授權服務的節點所產生的啟動程序檔案來安裝 Tableau。這將建立一個附加節點,您可以將其設定為叢集的一部分。有關如何新增節點的詳情,請參閱安裝和設定附加節點

    最佳作法是設定原始節點失敗時遺失的任何處理序以確保叢集完全備援。您可能想要將新的初始節點的處理序移至新增的節點以複製原始設定。例如,如果您的初始節點只執行閘道和檔案存放區,您就可以使用相同的方式設定新的初始節點。

  23. 節點開始正常工作並按預期執行後,您也應該重新部署新的協調服務整體。有關詳情,請參閱部署協調服務整體

  24. 最後,如果尚未完成此操作,請將 CFS 的執行個體新增至執行協調服務的每個節點。有關詳情,請參閱設定用戶端檔服務

    在叢集中,如果正在執行唯一 CFS 執行個體的節點發生故障,則 CFS 管理的所有檔案都將遺失,將需要重新匯入憑證和自訂影像並變更所有相關設定來重新填充 CFS 這些文件。有關 CFS 管理的檔案清單,請參閱 Tableau Server Client File Service

 

感謝您的意見反應!已成功提交您的意見回饋。謝謝!