Linux 上的 Tableau Server 疑難排解

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

下表顯示安裝目錄、資料目錄、記錄目錄和指令碼目錄的預設位置:

目錄:預設位置
安裝:/opt/tableau/tableau_server
資料:/var/opt/tableau/tableau_server/data
記錄:/var/opt/tableau/tableau_server/data/tabsvc/logs/
指令碼:/opt/tableau/tableau_server/packages/scripts.<version_code>/

一般疑難排解步驟

可透過以下一個或多個基本步驟解決或測試許多 Tableau Server 問題:

全新安裝

在從未安裝 Tableau 的電腦上安裝 Tableau Server Linux 版。如果要重新使用安裝了以前版本的 Tableau Server 的電腦或 VM,請在安裝新版本之前,先執行從電腦中移除 Tableau Server中的步驟以清除電腦上的 Tableau。

如果在安裝 Tableau Server 時遇到問題,您可能需要從電腦中完全移除 Tableau,並執行全新安裝。有關詳情,請參閱從電腦中移除 Tableau Server

磁碟空間

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

刪除舊記錄檔

如果磁碟空間不足,您可以清理舊 Tableau Server 記錄檔。這些檔可能會佔用空間,作為最佳做法,您應該定期刪除它們。

版本 10.5.x

如果有版本 10.5.1 及更高版本,請在終端提示符處執行此命令以清理不需要的記錄檔:

tsm maintenance cleanup

版本 10.5.0

如果執行版本 10.5.0 的 Linux 版 Tableau Server,則清理命令不可用,並且您需要在終端提示符處執行以下命令:

sudo find /var/opt/tableau/tableau_server/data/tabsvc/temp/* -mtime +2 -type f -delete

sudo find /var/opt/tableau/tableau_server/data/tabsvc/logs/* -mtime +2 -type f -delete

重要資訊:Linux 檔案系統可以刪除開啟的檔案,如果您執行此操作,Tableau 處理序可能無法重新建立檔案。這將導致記錄檔案為空。若要修復此問題,您可以停止 Tableau Server,重新啟動 TSM 控制項目,並再次重新啟動 Tableau:

  1. 停止 Tableau Server:

    tsm stop

  2. 重新啟動 TSM 控制項目:

    sudo systemctl restart tabadmincontroller_0.service

  3. 等待幾分鐘,重新啟動控制項目。您可以使用此命令確認控制項目是否已重新啟動:

    tsm status -v

    當您可以執行該命令並且 Tableau Server 管理控制項目被列為「正在執行」時,控制項目已重新啟動。

  4. 啟動 Tableau Server:

    tsm start

手動收集記錄

如果由於任何原因(例如,執行 tsm initialize 之前發生嚴重故障)而無法執行 tsm maintenance ziplogs,則可以透過在 Tableau Server 部署的每個節點中的終端視窗中執行以下命令來手動收集和壓縮記錄:

cd /var/opt/tableau/tableau_server/data/tabsvc/

cp /var/opt/tableau/tableau_server/logs/app-install.log logs

cp ~/.tableau/tsm/tsm.log logs

tar -czvf ~/logs.tar.gz logs

這將在您的主目錄中建立一個名為 logs.tar.gz 的檔案。您可以將此檔案上載或傳送到 Tableau。

重新啟動伺服器

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

使用 Linux 編輯安裝和設定檔

您應使用 Linux 作業系統編輯或建立用於在 Linux 上安裝或設定 Tableau Server 的任何檔案。使用 Microsoft Windows 建立的檔案將導致在 Linux 上安裝和設定 Tableau Server 出現錯誤,原因是 Linux 作業系統以分行符號 (LF) 結束檔案,而 Windows 則以歸位字元和分行符號 (CR LF) 結束檔案。如果非 Linux (CR LF) 檔案結束字元出現在自動安裝程式使用的 config.jsonreg_templ.jsonsecrets 檔案中,則可能導致Tableau Server 的自動安裝過程中出現錯誤。非 Linux (CR LF) 檔案結束字元也可能導致註冊期間或者設定識別身分存放區設定或閘道設定時出錯。

檢查 systemd 記錄

如果 Tableau Server 未啟動,並且您在 Tableau 記錄中找不到任何有用的資訊(有關詳情,請參閱使用記錄檔),您可以檢查 systemd 記錄瞭解與 TSM 服務啟動和停止相關的訊息。記錄儲存在 /var/log/messages (類似 RHEL 發佈版本)或 /var/log/syslog (Ubuntu) 中。我們建議使用 journalctl 命令搜尋與解析 systemd 記錄。

安裝 Tableau Server

安裝由於硬體需求而失敗

如果要進行安裝的電腦未滿足最低硬體需求,則 Tableau Server 無法安裝。有關要求詳情,請參閱安裝之前...

安裝由於超時而失敗

如果在資源有限的電腦(例如,僅滿足最低硬體需求的電腦)上安裝 Tableau Server,您可能會在 tsm 命令由於回應緩慢而超時的情況下遇到問題。可以透過在所有 tsm 命令上使用全域 --request-timeout 選項來指定更長的超時。有關 --request-timeout 選項詳情,舉例來說,請參閱tsm initialize

安裝失敗,並顯示「Failed to initialize the instance of the temporary database」(未能初始化臨時資料庫的執行個體)

Linux 版 Tableau Server 僅支援 UTF-8 字元編碼。如果您的 Linux 地區設定缺少 UTF-8 編碼,則安裝可能會失敗,並出現類似於如下的錯誤:

Failed to initialize the instance of the temporary database

若要檢查您的地區設定是否使用 UTF-8 編碼,請在命令提示符處執行 localectl 命令。產生的輸出應如下所示(您的地區設定可能不同):

[tableauserver-centos1a ~]$ localectl
System Locale: LANG=en_US.UTF-8
[tableauserver-centos1a ~]$

如果 LANG 值未包括 .UTF-8,則您需要執行 localectl 來新增:

sudo localectl set-locale LANG=<your_locale>.UTF-8

附註:在某些情況下,如果您的 systemd 版本較舊,localectl 可能無法完成(超時)。更新 systemd 可修復此問題並允許您設定 UTF-8 編碼。在 RHEL 類系統上,使用此命令來更新 systemdsudo yum update systemd

虛擬機器上的並行安裝失敗

當前不支援並行安裝。如果在 Linux 虛擬機器上以並行方式安裝 Tableau Server,則安裝可能失敗。

Tableau Server 未啟動

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

安裝之後無法啟動 Tableau Server

如果您的電腦的主機名稱在安裝之後變更,則 Tableau Server 可能無法啟動。主機名稱可能變更的其中一個主要原因是:您在 CentOS 7 上使用 cloud-init 套裝軟體。如果使用 cloud-init 套裝軟體,請在想要安裝 Tableau Server 的情況下在開始安裝過程之前重新開機電腦。或者,可以透過執行以下命令在不重新開機的情況下修復主機名稱:

sudo hostnamectl set-hostname `hostnamectl --static`

cloud-init 套裝軟體通常用於初始化新虛擬機器、設定 SSH 公開金鑰驗證,等等。例如,一些 CentOS 影像對應使用 cloud-init,並且 OpenStack 部署中通常會使用 cloud-init。但是,CentOS 7 存放庫預設包括的 cloud-init 的版本 (cloud-init 0.7.5-10.el7.centos.1) 有一個已知問題,使電腦在重新開機之前無法隨其主機名稱一起顯示其完全限定的網域名稱 (FQDN)。

由於 Tableau Server 安裝處理序使用電腦的主機名稱來設定伺服器處理序並產生 TLS 憑證,因此,如果 Tableau Server 設定為在沒有 FQDN 的情況下使用主機名稱,它可能無法啟動。

若要確定您的電腦是否顯示正確的主機名稱,請執行 hostnamectl 命令。在下面的範例中,命令顯示一個暫時主機名稱,表明它將不會返回 FQDN,並且必須重新啟動。

$ hostnamectl
   Static hostname: server01.example.com
Transient hostname: server01
[...]

或者,在下面的範例中,命令顯示正確的主機名稱和 FQDN:

$ hostnamectl
   Static hostname: server01.example.com
[...]

無法建立具有多個 Active Directory (AD) 域的初始管理員帳戶

在 Tableau Server 上建立初始管理員帳戶時,如果選取了 AD 作為驗證類型,您可能會看到以下錯誤:

Failed to authenticate username and password

當 Tableau Server 嘗試連線到多個 AD 域時,將發生此錯誤。舉例來說,如果在屬於某個域的電腦上安裝 Tableau Server,並且嘗試對屬於另一個域的 AD 使用者進行驗證,則可能會看到此錯誤。

字型

Tableau Server 使用系統上安裝的字型,根據建立工作簿時使用的字型來呈現工作簿。當某個字型不可用時,Tableau Server 將根據字型家族使用最接近的等效字型;Windows 和 Linux 伺服器均適用於這種情況。在 Linux 伺服器上,缺少字型的情況可能會更明顯,因為 Linux 附帶的字型比 Windows 和 OS/X 系統都少。這一點很重要,因為許多工作簿都是在 Windows 或 Mac 上的 Tableau Desktop 中製作的。

Linux 版 Tableau Server 附帶以下字型:

  • Arial
  • Courier
  • Georgia
  • Times New Roman
  • Verdana
  • Trebuchet MS
  • Tableau 字型

在 Linux 版 Tableau Server 上查看時,由於缺少字型,未使用這些字型的工作簿的顯示可能會與預期不同。為了解決此問題,請在 Tableau Server 安裝過程中在所有節點上安裝相應的字型。

對亞洲字元集的支援

如果您看到空白框,並且在此框中,您希望在 Tableau Server 中所顯示的工作簿中看到亞洲字元,則應在 Linux 環境中安裝與語言相對應的字型套件。

初始化 Tableau Server

由於 tableau 使用者帳戶存在,但不是 tableau 組的成員,因此 TSM 初始化失敗

安裝並初始化 Tableau 服務管理員 (TSM) 和 Tableau Server 時,初始化指令碼 (initialize-tsm) 將建立執行所需的使用者和組,或者確認已為現有項設定了必需的特性。預設情況下,此指令碼會建立一個名為 tableau 的使用者,並將其新增到名為 tableau 的群組中。如果 tableau 使用者已存在,但不屬於 tableau 群組,則該指令碼將會失敗並發出警告。

如果發生這種情況,那麼您可以使用 --unprivileged-user 標誌指定其他使用者來解決衝突,系統將建立此使用者並將其新增到 tableau 群組中。

例如,要指定名為 tableauserver 的使用者,你可以使用以下命令從 /opt/tableau/tableau_server/packages/scripts.<version_code> 目錄中執行指令碼:

sudo ./initialize-tsm --unprivileged-user="tableauserver" --accepteula

若要獲得可用於 initialize-tsm 指令碼的選項的完整清單,請使用 -h 選項:

sudo ./initialize-tsm -h

在不受支援的系統地區設定上初始化 Tableau Server 時出錯

如果您嘗試在電腦上安裝 Tableau Server,且地區設定不是 11 個受支援的地區設定之一,則安裝過程中會出現錯誤。

Tableau Server 將在使用以下地區設定之一的系統上執行:

de_DE、en_GB、en_US、es_ES、fr_FR、it_IT、ja_JP、ko_KR、pt_BR、zh_CN、zh_TW

fr_CA(從版本 2022.3 開始)

th_TH、sv_SE(版本 2023.1)

任何其他地區設定都將產生錯誤。

如果地區設定清單中未包含 en_US.utf8,則初始化 Tableau Server 時出錯

如果您嘗試在地區設定清單中沒有 en_US.utf8 的電腦上安裝 Tableau Server,則初始化將失敗並顯示錯誤。要查看是否包含了 en_US.utf8,請在 shell 提示符下鍵入 locale -a

如果未列出 en_US.utf8,則可以在 Ubuntu 上的 shell 提示符下鍵入 sudo locale-gen en_US.UTF-8,或者在類似 RHEL 的發行版本上的 shell 提示符下鍵入 sudo localedef -i en_US -f UTF-8 ,以將 en_us 加入到地區設定清單中。

錯誤:狀態 10 - 在資料目錄路徑包括句點時初始化 Tableau Server

如果嘗試安裝 Tableau Server,並指定路徑包括句點( [.] )的資料目錄,初始化將失敗並出現錯誤,其中包括:

Connection timed out

ERROR: TSM services returned status 10

為了避免此問題,請選取其路徑中未包括句點的資料目錄。

重新安裝後初始化 Tableau Server 時出錯

如果卸載並重新安裝 Tableau Server,您可能會在初始化 Tableau Server 時遇到錯誤。例如,您可能會看到以下錯誤:

ERROR com.tableau.tabadmin.webapp.asyncjobs.JobStepRunner - Running step WaitForConfigure failed
com.tableau.tabadmin.webapp.exceptions.ServiceFailedStateException

如果以前的安裝中存在導致服務無法啟動的人為錯誤,則會發生此錯誤。要防止此錯誤,請使用 /opt/tableau/tableau_server/packages/scripts.<version_code> 資料夾中的 tableau-server-obliterate 指令碼。有關徹底移除 Tableau Server 詳情,請參閱從電腦中移除 Tableau Server

啟動 Tableau Server

Tableau Server 授權啟動失敗

在某些情況下,使用 tsm licenses activate -k <product_key> 命令啟用 Tableau 產品金鑰會失敗,並出現以下錯誤:

License Server not available

如果您的電腦無法透過 TCP 埠 443 連線到 licensing.tableau.com 處的 Tableau 授權伺服器,則可能會發生這種情況。

若要解決此問題,您需要設定網路和/或主機託管的防火牆,以允許存取該位址和埠,或者離線啟用 Tableau。有關詳情,請參閱離線啟用 Tableau Server

重建 Tableau Server 搜尋和瀏覽索引

可以透過重新索引 [搜尋與瀏覽] 來解決的問題

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

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

如果您看到任何這些行為,請使用 tsm maintenance reindex-search 命令重建搜尋和瀏覽索引。

重新啟動 Tableau Server

重新啟動 Tableau Server 或應用變更失敗

如果某個 Tableau Server 服務失敗,當您嘗試重新開機伺服器或應用設定變更時,您可能會看到錯誤。

要查看失敗的服務是否會導致錯誤,請鍵入以下命令:

tsm status -v

若要瞭解服務失敗的原因,請檢視資料目錄中的 tabadminagent 和 tabadmincontroller 記錄檔。例如,服務可能會由於併發性問題或埠設定問題而失敗。請在回饋中包括您遇到的任何問題。

作為解決方法,您可以透過嘗試在 TSM 中移除並重新新增服務來解決故障。服務啟動之後,您可以重新嘗試以前的設定變更或再次嘗試使用 tsm restart 命令重新啟動伺服器。

新增或設定節點後重新開機 Tableau Server 時出錯

如果在沒有閘道處理序的情況下新增或設定節點,Tableau Server 可能無法重新啟動,並且您可能會看到類似於如下錯誤:

ERROR : com.tableau.tabadmin.configuration.PortConfigurationExtractor - Unable to find port config key worker1.gateway.port

Message: Missing port configuration value for key 'worker1.gateway.port'

這些錯誤出現在 gateway.log 檔案中,並且在 Tableau Server 節點設定為具有應用程式伺服器或 VizQL Server 但沒有閘道時發生。如果節點上正在執行應用程式伺服器或 VizQL Server,則需要閘道處理序。

備份/還原

與還原 Tableau Server 建立的備份相關的問題可能是由使用權限問題造成的。正確的使用權限對於 TSM 正在還原的檔案和檔案位置都是必需的。當 TSM 處理備份時,它會將檔案放在預設位置,並適當地設定使用權限。如果要還原已複製到 Linux 伺服器的備份或者來自伺服器上非預設位置的備份,則可能會遇到使用權限問題。有關使用非預設位置(包括如何變更位置)詳情,請參閱tsm File Paths

錯誤可能包括:

Server Was Denied Access to File

Restoring the backup '<backup>.tsbak' was unsuccessful

Comparing authentication methods failed

Tableau Server 備份和還原處理序必須具有:

  • 讀取使用權限 - 處理序需要直接存取 .tsbak 備份檔案。

  • 執行使用權限 - 處理序還需要對放置 .tsbak 檔案所在的目錄結構的執行使用權限。

當 TSM 在預設位置建立備份時,它將設定所需的使用權限。如果將檔案複製到 Linux 伺服器,或將其移動到非預設目錄,則使用權限可能不允許 TSM 處理序進行正常存取。您需要驗證此檔以及包含該檔的目錄樹是否允許 TSM 使用者 tableau 存取。檔使用權限必須給予 tableau 使用者 .tsbak 檔案的讀取存取權限。您可以透過將檔案上的群組設定為 tableau 群組,並給予該群組讀取存取權限來執行此操作。目錄使用權限必須給予 tableau 使用者讀取存取權限。您可以透過將目錄上的群組設定為 tableau 群組,並給予該群組對目錄的讀取和執行存取權限來執行此操作。

有關 TSM 和檔使用權限詳情,請參閱TSM 中的檔案和權限

檔案位置

變更 basefilepath 不會變更現有檔案的位置

一些 tsm 命令會將檔案寫入預設位置。您可以使用 tsm set 命令變更每個命令的這些預設位置,但這樣做不會將任何現有檔案從原始位置移動到新位置,並且不會建立新位置。您負責建立新位置,並確保其具有正確的使用權限以允許 tsm 存取該位置中的任何檔案,以及包含這些檔案的整個目錄結構。

有關變更備份、還原、網站匯入和匯出以及 ziplogs 檔案的預設位置詳情,請參閱tsm File Paths

有關 tsm 使用權限的資訊,請參閱TSM 中的檔案和權限

TSM 命令

TSM 命令列不顯示長時間執行的工作的進度

如果執行需要超過 2 小時才能完成的 tsm 命令(例如 restore 或 ziplogs),則此命令將在伺服器上繼續執行到完成為止。要顯示作業的進度,請使用 tsm jobs reconnect 命令。

開啟防火牆埠

手動開啟防火牆埠於 Ubuntu

當前版本的 Tableau Server 不支援 Ubuntu 上使用的 ufw 防火牆。對於不想在 Ubuntu 上安裝 firewalld 的客戶,另一個選項是手動開啟這些埠。以下步驟將確認 ufw 正在執行,並開啟 TCP 埠 8850 和 80 以從任何源位址連線:

  1. 執行以下命令,確認 ufw 正在執行:

    sudo ufw status

    如果結果為 Status: inactive,您將需要啟用 ufw,並確保您可透過 ssh(不在這些發行說明的討論範圍內)繼續連線。

  2. 執行以下命令以允許存取埠 8850:

    sudo ufw allow 8850

  3. 執行以下命令以允許存取埠 80:

    sudo ufw allow 80

首次登入嘗試時 OpenID 失敗

如果您為 Tableau Server 設定了 Open ID Connect 驗證,則首次嘗試登入會失敗。要成功登入,使用者必須在首次失敗後重試驗證。

未顯示管理檢視

Tableau Server 的 [狀態] 索引標籤包括指向視覺效果的連結,這些視覺效果顯示伺服器指標。這些視覺效果需要 PostgreSQL 驅動程式來存取 Tableau Server 存放庫中的相應資料。PostgreSQL 驅動程式不會自動安裝,因此,如果您未安裝該驅動程式,檢視將不會顯示。有關詳情,請參閱資料庫驅動程式

附註:要使用管理檢視,PostgreSQL 驅動程式必須安裝在執行 VizQL Server 處理序的任何節點上。

在檢視上變更地區設定

在開啟檢視後變更使用者地區設定時,任何後續嘗試開啟檢視的操作都將失敗並出現「意外錯誤」。您仍可以開啟以前未開啟的檢視。

要解決此問題,請在變更地區設定後登出 Tableau Server,然後重新登入。所有檢視都將正確顯示。

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