從初始節點故障中復原

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

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

如果初始節點上有問題並且其他節點上有備援處理序,Tableau Server 最多可繼續執行 72 小時,才會缺少服務授權,影響其他處理序。您的使用者可以繼續登入,並在初始節點失敗後查看並使用其內容,但是您將無法重新設定 Tableau Server,因為您無權存取管理控制器。這意味著您應該儘快將兩個唯一處理序移至另一個執行中的節點。如果您的初始節點因可在相對短的時間內復原的原因(例如,您可以校正的硬體故障)而失敗,則應先嘗試在不使用下列程序的情況下備份節點。

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

一般要求

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

如果您要嘗試從先前版本的 Tableau Server 恢復失敗的節點,就必須遵循該版本的程序。若要檢視封存版本的 Tableau 線上說明,請參閱 Tableau 說明(Link opens in a new window)

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

附註:此操作包括您可能需要使用 TSM 命令列執行的步驟。若要使用 TSM CLI,您需要在安裝中的一個節點上對命令列具有管理員存取權限,並需要 TSM 管理員認證來執行 TSM 命令。

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

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

  1. 在仍然工作的節點上,執行控制器復原指令碼。若要執行此動作,開啟命令提示符,巡覽到 Tableau Server 的 script 目錄 (預設情況下:C:\Program Files\Tableau\Tableau Server\packages\scripts.<version_code>\),並鍵入以下命令:

    move-tsm-controller -n <nodeID>

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

    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. 若使用的是伺服器 ATR,請將啟用服務新增到節點:

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

  7. 若使用的是伺服器 ATR,請從原始節點中移除舊的啟用服務,其中「nodeID」是發生故障的初始節點:

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

  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. 重新開機 TSM 管理控制器:

    net stop tabadmincontroller_0

    net start tabadmincontroller_0

    附註:您必須以管理員身分透過命令提示字元執行這些命令。根據您的電腦的設定方式,您可能需要在 C:\Windows\System32 資料夾中執行這些命令。

    附註: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 的執行個體新增至執行協調服務的每個節點。有關詳情,請參閱設定用戶端檔服務

 

感謝您的意見回饋!