Tableau Server 安裝和升級疑難排解

按照本主題中的建議來解決 Tableau Server 的常見問題。有關基於在「狀態」頁面上檢視的處理序狀態的其他疑難排解步驟,請參閱伺服器處理序疑難排解

 

一般疑難排解步驟

許多 Tableau Server 問題可透過某些基本步驟解決:

  1. 確保執行 Tableau Server 的每台電腦上都有足夠的磁碟空間。有限的磁碟空間可能會導致安裝失敗、升級失敗或執行 Tableau Server 時出現問題。

  2. 重新啟動 Tableau Server。與未完全啟動的程序相關的問題,可透過以受控方式重新開機 Tableau Server 解決。若要重新啟動 Tableau Server,請使用 tsm restart 命令。這將停止與 Tableau Server 關聯的所有處理序,然後重新開機這些處理序。

  3. 重新為 Tableau Server 編製索引。重新為 Tableau Server 編製索引,可以解決編製索引的相關問題。若要重新為 Tableau Server 編制索引,請使用 tsm maintenance reindex-search 命令。有關詳情,請參閱重建 Tableau Server 搜尋和瀏覽索引

  4. 重新啟動執行 Tableau Server 的電腦。部分問題(例如與資料來源連線相關的問題)可以透過重新啟動伺服器電腦來解決。

常見 Tableau Server 安裝問題

安裝記錄位置

安裝記錄 app-install.log 位於 /var/opt/tableau/tableau_server/logs 中。

升級記錄 app-upgrade.log 位於 /var/opt/tableau/tableau_server/logs 中。

多次嘗試安裝均失敗

如果您嘗試安裝 Tableau Server 並且安裝失敗,除非執行 tableau-server-obliterate 指令碼從電腦清除 Tableau,否則任何後續安裝都可能會失敗。

失敗的安裝嘗試可能會使電腦處於一種會導致後續嘗試也失敗的狀態,而錯誤看起來似乎並不與以前的安裝嘗試直接相關。一個可能的錯誤為:

Enabling and starting all services
+ services=(appzookeeper* tabadmincontroller* tabsvc* licenseservice* fnplicenseservice* tabadminagent* clientfileservice*)
+ systemctl_user enable appzookeeper_0.service 'tabadmincontroller*' 'tabsvc*' 'licenseservice*' fnplicenseservice_0.service 'tabadminagent*' 'clientfileservice*'
++ id -ru a_tabadminpoc
+ local unprivileged_uid=222954
+ su -l a_tabadminpoc -c 'XDG_RUNTIME_DIR=/run/user/222954 systemctl --user enable appzookeeper_0.service tabadmincontroller* tabsvc* licenseservice* fnplicenseservice_0.service tabadminagent* clientfileservice*'
Failed to execute operation: No such file or directory

若要修復此問題,請執行 tableau-server-obliterate 指令碼清除之前安裝嘗試所遺留的任何內容,然後重新啟動電腦。有關詳情,請參閱執行 tableau-server-obliterate 指令碼

重要資訊: 如果您已建立想要保留的 Tableau 備份 (<file>.tsbak)(例如,還原至新的安裝),請將該檔案複製到另一台電腦上的安全位置,以保證您清理 Tableau 電腦時不會被移除。

安裝由於硬體要求而失敗

如果要進行安裝的電腦未滿足最低硬體要求,則 Tableau Server 無法安裝。這些要求適用於您在其上安裝 Tableau Server 的所有電腦。有關最低硬體要求的詳情,請參閱 Tableau Server 的最低硬體需求和推薦設定

由於 CPU 要求,安裝或升級失敗

從版本 2020.4.0 開始,Tableau Server 需要支援 SSE4.2 和 POPCNT 指令集的 CPU。若電腦具有不支援這些指令集的 CPU,則無法在這些電腦上安裝或升級 Tableau Server 2020.4.0 或更高版本。

在安裝新安裝或準備升級現有安裝時,可能會看到以下錯誤訊息: 

Your computer’s processor doesn’t meet the minimum requirements that Tableau requires to install the software. If you are using a VM, make sure Processor compatibility mode is off.

SSE4.2 和 POPCNT 指令集已通用 10 多年,並且大多數較新的 CPU 都支援它們,但是若在嘗試在虛擬機器 (VM) 上安裝或升級 Tableau Server 時遇到與處理器最低要求有關的錯誤,可以在 VM 上啟用處理器相容模式。要在 VM 上成功安裝或升級 Tableau,請確保已關閉處理器相容模式。

常見 Tableau Server 升級問題

升級記錄位置

  • 升級記錄 app-upgrade.log 位於 /var/opt/tableau/tableau_server/logs 中。
  • 升級後,地圖不顯示或顯示不完整

    從 Tableau 版本 2019.2 開始,地圖的網際網路存取要求已變更。若從版本 2019.1.x 或更低版本升級到版本 2019.2.x 或更高版本,並且地圖未按預期顯示,請確認環境已設定為允許在連接埠 443 上存取 mapsconfig.tableau.comapi.mapbox.com

    在 2019.1.x 或更低版本中,必須存取 maps.tableausoftware.com

    有關網際網路存取要求的更多詳細資訊,請參閱與 Internet 通訊

    升級指令碼錯誤:「Tableau Server 版本變更驗證失敗。」

    升級時,若從早期版本的 scripts.<version_code> 目錄執行 upgrade-tsm 指令碼,則升級將失敗,並顯示以下錯誤:

    Tableau Server Version change validation failed.
    Tableau Server <version> is already installed.

    若出現此錯誤,請更改為剛才已安裝版本的 scripts.<version_code> 目錄,然後從該目錄執行指令碼。

    升級多節點、初始化附加節點失敗,出現「再次輸入您的認證」錯誤

    如果您嘗試在升級 Tableau Server 時初始化附加節點并看到此錯誤:

    Enter your credentials again. The credentials you enter must provide administrative access to the computer where you generated the configuration file.

    這表示節點無法連線至初始節點或與其通訊。多種原因會造成此問題:

    • 您輸入的認證無效或輸入不正確。此認證必須為具有先已安裝 Tableau Server 之電腦管理權限的使用者認證。您不需要使用建立啟動程式檔案的使用者認證,但這樣做可確保您使用的是有效認證。

    • 您嘗試新增的電腦本機防火牆不允許與初始節點通訊。有關詳情,請參閱本機防火牆設定

    升級由於缺少磁碟空間而失敗

    如果磁碟空間不足,使得 Tableau Server 安裝程式無法執行和執行升級,則安裝將失敗。所需的磁碟空間量將取決於存放庫資料庫的大小以及擷取的數量和大小。

    釋放磁碟空間:

    1. 使用 tsm maintenance ziplogs 命令建立記錄存檔案快照。

      建立 ziplogs 檔案之後,請將其儲存到不是 Tableau Server 安裝一章節的安全位置。

    2. 使用 tsm maintenance cleanup 命令清理不必要的檔案。有關詳情,請參閱移除不需要的檔案

    RebuildSearchIndex 作業升級失敗

    從版本 2020.1.x 開始,升級的最後一步是重建搜尋索引。此時,所有服務都已升級,因此,若此作業失敗,則可以透過執行 tsm maintenance reset-searchserver 命令來手動重設搜尋伺服器。無需刪除升級並重新開始。

    錯誤將為:

    An error occurred while rebuilding search index.

    若要重設搜尋伺服器:

    1. 在初始節點上,開啟終端會話。

      這必須為新的終端工作階段,因為升級指令碼會為新版本更新系統環境。

    2. 使用 tsm maintenance reset-searchserver 命令重建搜尋索引。

    在 2022.1 及更新版本升級失敗

    升級 Tableau Server 2022.1(或更新版本)後,在升級過程中還原 Tableau Server 備份可能會導致以下錯誤:

    「Tableau Server 預設使用新的身份服務表,因此無法還原備份。」

    出現此問題的原因是 Tableau Server 2022.1(及更新版本)使用的身份架構與備份使用的身份架構不同。要解決此問題,請參閱對身份移轉問題進行疑難排解

    2020.4.0 或更高版本升級失敗

    從版本 2020.4.0 開始,檢查點升級功能可讓您重試失敗的升級。通常,若經驗豐富的伺服器管理員和 IT 專業人員熟悉 Tableau Server 記錄檔並願意搜尋這些記錄檔,則此功能對他們最有用。但是,此功能可用於所有失敗的升級,因為其可讓您重新執行 upgrade-tsm 指令碼,並且該指令碼會從上一個成功的步驟開始執行,從而節省時間。對於有經驗的人士,此功能可讓他們識別諸如磁碟空間或權限之類的問題,並予以糾正,然後重新執行升級。

    若要升級到 2020.4.0 或更高版本,並且升級失敗,則以下步驟可以幫助您完成升級:

    • 重新執行 upgrade-tsm 指令碼。升級失敗有時是由於升級過程中逾時導致的,重新執行指令碼可讓升級避開間歇性或偶然性的時間問題。這也是安全且容易做到的步驟。重新執行該指令碼不會造成任何危害,並且在最壞的情況下,升級會在同一位置再次失敗,但是無需執行任何先前的步驟。

      該指令碼位於 \scripts 目錄中:

      opt/tableau/tableau_server/packages/scripts.<version_code>/upgrade-tsm

      若重新執行 upgrade-tsm 指令碼後 Tableau Server 升級未成功,並且您熟悉 Tableau Server 記錄檔,則可以執行以下其他的疑難排解步驟:

    • 在命令視窗中查看指令碼的輸出。。有用的錯誤訊息可能有助於識別升級失敗的原因,並提供一些有關解決問題的辦法。

    • 查看 app-upgrade.log 檔案。命令列中顯示的任何錯誤也會出現在 app-upgrade.log 檔案中,通常包含更多詳細資訊。

    • 查看 tabadmincontroller.log 檔案。在上述兩種情況下不容易識別的升級問題很可能是作業中的問題造成的。tabadmincontroller.log 檔案可能包含有助於診斷問題的更多資訊。

      附註:有關記錄檔位置的資訊,請參閱 Tableau Server 記錄檔和記錄檔位置

    由於備份/還原檔案位置的權限問題,升級失敗

    對於 2022.1.0 之前的 Tableau Server 版本,如果備份/還原檔案的檔案位置沒有正確的權限,升級指令碼將失敗,並出現無法讀取備份檔案或無法還原的錯誤存放庫。

    從版本 2022.1 開始,升級指令碼會在開始升級之前確認備份/還原檔案的檔案位置權限,以便在升級到新版本 Tableau Server 期間可以從該位置寫入和讀取檔案。

    錯誤將類似於以下內容:

    The tableau user does not have permission to read the backup file: <backup/restore basefilepath>.
    
    Repository restore failed.
    An error occurred during installation.
    An error occurred while restoring repository.

    TSM 用於備份和還原的位置由 basefilepath.backuprestore 配置密鑰,並具有安裝程式設定正確權限的預設值,但這些可能會受到組織 IT 規則的影響,或者將位置變更為自己建立的位置也會受影響。從 2022.1 開始提供的新命令允許在建立備份/還原檔案位置後立即檢查其權限,以避免任何與權限相關的問題。有關該命令的詳細資訊,請參閱 tsm maintenance validate-backup-basefilepath

    關於備份/還原檔案位置的詳細資訊,請參閱 tsm File Paths

    常見設定匯入問題

    由於服務缺失,匯入設定導致「不存在於任何節點上」驗證錯誤

    如果要透過安裝新版本的 Tableau Server 升級,並從早期版本匯入設定檔,在執行此命令時可能會遇到拓樸驗證 tsm settings import 錯誤。

    從舊版本的 Tableau Server 匯出設定檔案,並將其匯入新版本時,可能會發生這種情況,並且在兩個版本之間已向 Tableau 新增了新服務。

    錯誤可能會類似這個(特定服務可能不同):

    >tsm settings import -f 20183-export.json

    Pending topology set.
    There are 1 topology validation errors/warnings.

    Service 'elasticserver' is not present on any node in the cluster.
    Service: Elastic Server

    若要解決此問題,請將任何遺失的服務新增到 Tableau Server:

    1. 針對生成驗證錯誤的任何服務,請新增執行個體數量為 1 的服務。

      例如,若叢集中不存在 Elastic Server,請使用驗證錯誤訊息第一行中出現的服務名稱將流程執行個體計數設定為 1:

      tsm topology set-process -n node1 -pr elasticserver -c 1

      對導致錯誤的每個服務重複此步驟。

    2. 當您不再有警告或錯誤時,請套用擱置的變更:

      tsm pending-changes apply

    您的設定應該會成功匯入。

    匯入設定檔導致「您指定的組態值不符合」錯誤

    如果要安裝新版本的 Tableau Server,並從早期版本匯入設定檔,在執行此命令時可能會遇到組態驗證 tsm settings import 錯誤。當設定檔包含已從 Tableau 中刪除的組態值時,可能會發生這種情況。

    錯誤可能會類似這個(組態金鑰可能不同):

    >tsm settings import -f 20183-export.json
    Configuration error: At least one configuration value you specified does not match a known configuration key. This applies to the following keys: '[features.TsmConfigFileService]'
    Use this parameter to override unknown key error: --force-keys

    若要解決此問題,請編輯要匯入的設定檔以刪除錯誤中的組態金鑰或金鑰的引用;

    1. 複製 JSON 設定檔並保存複本以進行備份。

    2. 在純文字編輯器中打開 JSON 設定檔。

    3. 找到並刪除包含該金鑰的全部內容。在此範例中, features.TsmConfigFileService

      "configKeys" : {
        "config.version" : 19,
        "tabadmincontroller.port" : "8850",
        "endpoints.enabled" : false,
        "endpoints.health.enabled" : true,
        "features.TsmConfigFileService" : true,
        "tableau_projects.language" : "en",

      以上是匯出設定檔的一小部分範例,並不表示檔案的全部內容。

    4. 保存設定檔並再次匯入。

    您可能會遇到與拓撲驗證相關的其他錯誤。有關解決這些錯誤的資訊,請參閱上方由於服務缺失,匯入設定導致「不存在於任何節點上」驗證錯誤

    「無法直接修改協調服務的執行個體」錯誤

    在兩種情況下會發生此錯誤:

    • 將 Tableau Server 設定檔案匯入與設定檔案具有不同的協調服務拓撲的安裝中時
    • 嘗試使用 tsm topology set-process 命令設定協調服務時

    若在匯入設定檔案後看到此錯誤:

    Tableau Server 設定檔案與目標伺服器具有不同的協調服務拓撲。若透過安裝新版本並從較低版本匯入設定檔案來升級 Tableau Server,則可能會發生這種情況。若尚未在目標伺服器上明確部署協調服務整體,則其會在初始節點上具有協調服務的單個執行個體。

    若要更正此錯誤,可以更正命令列中不相符的內容,也可以編輯設定匯入檔案。還可以捨棄所有暫止的變更,在目標電腦上部署協調服務以符合匯入檔案中的設定,然後重新匯入設定檔案。

    若要更正命令列中不相符的內容,對於每個產生錯誤的節點,請使用 tsm topology set-process 命令還原協調服務的執行個體計數。

    1. 執行 tsm pending-changes list 命令。輸出會顯示哪些節點已發生變更。

    2. 尋找協調服務計數已變更的一個或多個節點。

      例如,若設定檔案在節點 2 上具有協調服務執行個體,但是目標系統在該節點上沒有任何協調服務執行個體,則匯入設定檔案後,節點 2 的計數會顯示為從 0 變更為 1:

      C:\Windows\system32>tsm pending-changes list
      Configuration
      There are no pending configuration changes.
      Topology
      node2:
                  Coordination Service
                                      New Instance Count:1 
                                      Old Instance Count:0
    3. 使用 tsm topology set-process 命令將計數設定回「舊執行個體」值。

      對於上面的範例:

      tsm topology set-process -n node2 -c 0 -pr "Coordination Service"
    4. 重設任何已變更的協調服務執行個體計數後,請套用暫止的變更:

      tsm pending-changes apply

    若在手動設定協調服務的流程計數時看到此錯誤:

    若使用 tsm topology set-process 命令嘗試直接更新協調服務,而不是使用用於管理協調服務的 tsm topology 命令,也會發生此錯誤。請嘗試:

    1. 使用 tsm pending-changes discard 命令捨棄暫止的變更。
    2. 使用正確的命令來設定協調服務。有關詳情,請參閱部署協調服務整體

    啟動 Tableau Server

    Tableau Server 無法確定其是否已完全啟動

    在某些情況下,Tableau Server 可能會報告它無法確定所有元件在啟動時是否已正常啟動。一條訊息將顯示:「無法確定所有服務元件是否已正常啟動。」

    如果在啟動後看到此訊息,請透過使用 tsm status -v 命令驗證 Tableau Server 是否按預期方式執行。

    如果狀態顯示為正在執行(「Status: RUNNING」),則伺服器已成功啟動,您可以忽略該訊息。如果狀態為 DEGRADED STOPPED,請參閱下一節中的「Tableau Server 未啟動」。

    Tableau Server 未啟動

    如果 Tableau Server 未啟動或在降級的狀態下執行,請從命令提示符中執行 tsm restart 命令。這將關閉正在執行的任何處理序,並重新開機 Tableau Server。

    重建 Tableau Server 搜尋和瀏覽索引

    可藉由重建「搜尋與瀏覽」索引而解決的問題

    需要重建索引的症狀包括:

    • 使用者嘗試登入時出現空白網站清單
    • 使用者嘗試選取專案時出現空白項目清單
    • 缺少內容(工作簿、檢視、儀表板窗格)
    • 意外或不準確的通知(例如,未包括擷取的工作簿上的「重新整理失敗」通知)

    如果您看到任何這類行為,請使用 tsm maintenance reset-searchserver 命令來重設和重建「搜尋與瀏覽」索引。

    啟動 Tableau Server

    Tableau Server 授權啟動失敗

    在某些情況下,Tableau Server 授權啟用可能會失敗。錯誤訊息的範圍很廣泛,一般為:

    • An error has occurred

    如需更具體的訊息:

    • Function flxActCommonLicSpcPopulateFromTS returned error 50030, 71521,
    • No license found for 'Tableau Server'

    若要解決此問題,請按照下面列出的順序嘗試這些解決方案:

    確認您可以存取授權伺服器

    Tableau 授權服務已於 2018 年 10 月 6 日移至新的資料中心。這表示需要特殊設定(例如靜態 IP 安全清單)來存取 licensing.tableau.com 或 licensing.tableau.com 的任何環境將需要更新,然後您才能夠啟用、重新整理或停用 Tableau 產品金鑰。

    若要測試存取權,請在瀏覽器中鍵入 URL 和授權伺服器的連接埠:

    https://licensing.tableau.com:443

    和:

    https://atr.licensing.tableau.com/_status/healthz

    如果您可以存取伺服器,第一個伺服器會顯示「測試成功」訊息,第二個伺服器會顯示「確定」訊息。

    Tableau Server 需要連線到以下網際網路位置來完成授權:

    • atr.licensing.tableau.com:443

    • licensing.tableau.com:443

    • register.tableau.com:443

    • o.ss2.us

    • s.ss2.us

    • crt.rootca1.amazontrust.com

    • crt.sca1b.amazontrust.com

    • crt.sca0a.amazontrust.com

    • crt.sca1a.amazontrust.com

    • crt.sca2a.amazontrust.com

    • crt.sca3a.amazontrust.com

    • crt.sca4a.amazontrust.com

    • *.digicert.com

    • ocsp.*.amazontrust.com

    • crl.*.amazontrust.com

    對以上網域的請求可以在埠 80 或 443 上。連接埠 80 用於憑證驗證(撤銷、憑證鏈結等)。連接埠 443 用於 SSL 連線。

    ocsp.*.amazontrust.comcrl.*.amazontrust.com 網域的請求由 Amazon 管理,以取得憑證撤銷資訊。有關更多資訊,請參閱 ACM 憑證特性(連結在新視窗開啟)

    驗證日期和時間

    驗證初始 Tableau Server 電腦上的日期和時間是否正確。如果時鐘設定為早於當前日期的時間和日期,則無法啟用 Tableau Server

    強制再次讀取產品金鑰

    1. 在初始 Tableau Server 電腦上,以具有 sudo 存取權限的使用者身分登入。

    2. 切換到 Tableau Server bin 目錄。預設情況下,此目錄為:

      /opt/tableau/tableau_server/packages/bin.<version_code>/

    3. 鍵入以下命令:

      tsm stop
      ./lmreread
      tsm start

    將受信任的儲存體的內容傳送到 Tableau 支援部門

    如果 FlexNet Licensing Services 已安裝並正在執行,但您仍然看到錯誤,則 Tableau 產品金鑰資訊可能有問題。若要解決此問題,請完成以下步驟以為位於受信任存放中的金鑰資訊建立檔案。

    1. 在初始 Tableau Server 電腦上,以具有 sudo 存取權限的使用者身分登入。

    2. 輸入以下命令:

      serveractutil -view > <machine_name>-LicResults.txt

      這會在目前的目錄中建立 <machine_name>-LicResults.txt 檔案。若沒有該位置的寫入權限卻發現錯誤,請變更為有權建立檔案的位置,然後再次執行該命令。

    3. 與 Tableau 支援部門聯絡 (http://www.tableau.com/zh-tw/support/request(連結在新視窗開啟)),並附上您建立的 <machine_name>-LicResults.txt 檔案。

    tabcmd 安裝問題

    單獨安裝 tabcmd

    安裝 Tableau Server 時,tabcmd 會自動安裝在初始 Tableau Server 節點上,但是若要在另一台電腦上執行,則需要單獨下載並安裝 tabcmd。有關詳情,請參閱安裝 tabcmd

    在 Linux 上安裝 tabcmd 時出現問題

    tabcmd 需要 Java 11 才能正常執行。在類似 RHEL 的系統上,會在安裝 tabcmd 時將其作為相依項目安裝。在類似 Debian 的系統上,如果尚未安裝 Java 11,就需要單獨安裝。

    自 2022 年 7 月起,不再支援 Debian 發行版。有關詳細資訊,請參閱此 Tableau 社群貼文(連結在新視窗開啟)

    未安裝 Java

    若在安裝 tabcmd 時看到類似的錯誤,請確認 Linux 電腦上已安裝 Java 11:

    Cannot find 'java' in your PATH. Install 'java' and make sure it is in your PATH to continue.

    已安裝不正確的 Java 版本

    若看到類似的錯誤,請確認已安裝 Java 11:

    Exception in thread "main" java.lang.UnsupportedClassVersionError: com/tableausoftware/tabcmd/Tabcmd : Unsupported major.minor version 52.0

    或者

    *** Uncaught exception NoClassDefFoundError: javax/xml/bind/JAXBException
    *** See the logs for the stacktrace.
    感謝您的意見反應!已成功提交您的意見回饋。謝謝!