第 4 部分 - 安裝並設定 Tableau Server

本主題描述如何完成安裝和設定基準 Tableau Server 部署。此處的過程繼續 AWS 和 Linux 參考架構範例。

整個 Linux 範例的安裝過程展示了 RHEL-like 發行版的命令。具體來說,這裡的命令是使用 Amazon Linux 2 發行版開發的。若執行的是 Ubuntu 發行版,請編輯相對應的命令。

開始之前

第 3 部分 - 準備 Tableau Server Enterprise 部署所述,準備和驗證您的環境。

安裝、設定 PostgreSQL 和建立 tar 備份

此 PostgreSQL 執行個體託管 Tableau Server 部署的外部存放庫。在安裝 Tableau 之前,必須安裝和設定 PostgreSQL。

可在 Amazon RDS 或 EC2 執行個體上執行 PostgreSQL。有關在 RDS 與 EC2 執行個體上執行存放庫之間的差異詳情,請參閱 Tableau Server 外部存放庫 (Linux(連結在新視窗開啟))。

作為範例,以下過程顯示如何在 Amazon EC2 執行個體上安裝和設定 Postgres。此處顯示的範例是參考架構中 PostgreSQL 的通用安裝和設定。DBA 應根據您的資料大小和效能需求最佳化 PostgreSQL 部署。

要求:請注意,必須執行 PostgreSQL 1.6,並且必須安裝 uuid-ossp 模組。

PostgreSQL 版本

您必須為 Tableau Server 外部存放庫安裝相容的主要版本 PostgreSQL。此外,次要版本還必須滿足最低要求。

Tableau Server 版本PostgreSQL 最低相容版本
2021.2.3 - 2021.2.8

2021.3.0 - 2021.3.7

2021.4.0 - 2021.4.3

12.6
2021.2.10 - 2021.2.14

2021.3.8 - 2021.3.13

2021.4.4 - 2021.4.8

12.8
2021.2.15 - 2021.2.16

2021.3.14 - 2021.3.15

2021.4.9 - 2021.4.10

12.10
2021.2.17 - 2021.2.18

2021.3.16 - 2021.3.17

2021.4.11 - 2021.4.12

12.11
2021.3.26

2021.4.23

12.15
2022.1.013.3
2022.1.1 - 2022.1.313.4
2022.1.4 - 2022.1.613.6
2022.1.7 - 2022.1.16

2022.3.0 - 2022.3.7

2023.1.0 - 2023.1.4

13.7
2022.1.17 - 2022.1.19

2022.3.8 - 2022.3.19

2023.1.5 - 2023.1.15

2023.3.0 - 2023.3.8

13.11
2022.3.20 - 2022.3.x

2023.1.16 - 2023.1.x

2023.3.9 - 2023.3.x

13.14
2024.0 - 2024.x15.6

安裝 PostgreSQL

此範例安裝程序描述如何安裝 PostgreSQL 版本 13.6。

登入在之前「部分」中所建立的 EC2 主機。

  1. 執行更新以將最新的修正套用到 Linux OS:

    sudo yum update

  2. /etc/yum.repos.d/ 路徑中建立並編輯檔案 pgdg.repo.。將以下設定資訊填入檔案:

    [pgdg13]
    name=PostgreSQL 13 for RHEL/CentOS 7 - x86_64
    baseurl=https://download.postgresql.org/pub/repos/yum/13/redhat/rhel-7-x86_64
    enabled=1
    gpgcheck=0

  3. 安裝 Posgres 13.6:

    sudo yum install postgresql13-server-13.6-1PGDG.rhel7.x86_64

  4. 安裝 uuid-ossp 模組:

    sudo yum install postgresql13-contrib-13.6-1PGDG.rhel7.x86_64

  5. 初始化 Postgres:

    sudo /usr/pgsql-13/bin/postgresql-13-setup initdb

設定 Postgres

設定 Postgres 以完成基本安裝:

  1. 請使用下列兩個項目來更新 pg_hba 組態檔,/var/lib/pgsql/13/data/pg_hba.conf 。每個項目都必須包含將執行 Tableau Server 的子網路遮罩: 

    host all all 10.0.30.0/24 password

    host all all 10.0.31.0/24 password

  2. 要更新 Postgresql 檔,/var/lib/pgsql/13/data/postgresql.conf,請新增此行:

    listen_addresses = '*'

  3. 設定在重開機時啟動 Postgres:

    sudo systemctl enable --now postgresql-13

  4. 設定超級使用者密碼:

    sudo su - postgres 

    psql -c "alter user postgres with password 'StrongPassword'"

    附註:設定強式密碼。切勿使用此處範例中所示的 'StrongPassword'。

    exit

  5. 重新啟動 Postgres:

    sudo systemctl restart postgresql-13

使用 PostgreSQL 步驟 1 tar 備份

建立 PostgreSQL 設定的 tar 備份。如果在繼續部署時遇到故障,請建立當前設定的 tar 快照以節省時間。

我們將此稱為「步驟 1」備份。

在 PostgreSQL 主機上:

  1. 停止 Postgres 資料庫執行個體:

    sudo systemctl stop postgresql-13

  2. 執行以下命令建立 tar 備份:

    sudo su
    cd /var/lib/pgsql
    tar -cvf step1.13.bkp.tar 13
    exit
  3. 啟動 Postgres 資料庫:

    sudo systemctl start postgresql-13

還原步驟 1

如果 Tableau Server 初始節點在安裝過程中出現故障,則還原到步驟 1。

  1. 在執行 Tableau 的電腦上,執行 obliterate 指令碼來完全移除主機中的 Tableau Server:

    sudo /app/tableau_server/packages/scripts.<version_code>/./tableau-server-obliterate -a -y -y -y -l

  2. 還原 PostgreSQL Stage 1 tar。在執行 Postgres 的電腦上,執行以下命令:

    sudo su
    systemctl stop postgresql-13
    cd /var/lib/pgsql
    tar  -xvf step1.13.bkp.tar
    systemctl start postgresql-13
    exit

繼續安裝 Tableau Server 初始節點的安裝流程。

安裝之前

如果根據本指南中描述的 AWS/Linux 範例實作部署 Tableau,則也許能夠執行自動安裝指令碼 TabDeploy4EDG。TabDeploy4EDG 指令碼會自動執行以下過程中描述的四節點 Tableau 部署的範例安裝。請參閱附錄 - AWS 部署工具箱

安裝 Tableau Server 初始節點

此過程描述如何按照參考架構的定義,安裝 Tableau Server 的初始節點。除了安裝套件和初始化 TSM 之外,在此過程盡量使用 TSM 命令行。由於獨立於平台之外,使用 TSM CLI 能讓虛擬化和無頭環境的安裝更加順利。

執行安裝套件並初始化 TSM

登入到節點 1 主機伺服器。

  1. 執行更新以將最新的修正套用到 Linux OS:

    sudo yum update

  2. Tableau 下載頁面(連結在新視窗開啟)複製安裝組件到即將執行 Tableau Server 的主機電腦。

    例如,在執行 Linux RHEL-like 操作系統的電腦上,執行:

    wget https://downloads.tableau.com/esdalt/2022<version>/tableau-server-<version>.rpm

    其中, <version> 是版本號。

  3. 下載並安裝相依性:

    sudo yum deplist tableau-server-<version>.rpm | awk '/provider:/ {print $2}' | sort -u | xargs sudo yum -y install

  4. 在根目錄中建立 /app/tableau_server 路徑:

    sudo mkdir -p /app/tableau_server

  5. 執行安裝程序並指定/app/tableau_server安裝路徑。例如,在類似於 Linux RHEL 的作業系統上,執行:

    sudo rpm -i --prefix /app/tableau_server tableau-server-<version>.x86_64.rpm

  6. 更改為/app/tableau_server/packages/scripts.<version_code>/目錄並執行位於該處的 initialize-tsm指令碼:

    sudo ./initialize-tsm -d /data/tableau_data --accepteula

  7. 初始化完成後,離開 shell:

    exit

啟用並註冊 Tableau Server。

  1. 登入到節點 1 主機伺服器。

  2. 在此步驟中提供 Tableau Server 產品金鑰。為您購買的每個授權金鑰執行以下命令:

    tsm licenses activate -k <product key>

  3. 使用如下所示的格式建立一個 json 登錄檔:

    {
    "zip" : "97403",
    "country" : "USA",
    "city" : "Springfield",
    "last_name" : "Simpson",
    "industry" : "Energy",
    "eula" : "yes",
    "title" : "Safety Inspection Engineer",
    "company_employees" : "100",
    "phone" : "5558675309",
    "company" : "Example",
    "state" : "OR",
    "opt_in" : "true",					
    "department" : "Engineering",
    "first_name" : "Homer",
    "email" : "homer@example.com"
    }	
  4. 儲存對檔案進行的變更之後,使用--file選項傳遞該檔案以註冊 Tableau Server:

    tsm register --file path_to_registration_file.json

設定身分識別存放區

附註:如果部署使用 Tableau 檔案存放區的外部存放區,則需要在設定身分識別存放區之前啟用外部檔案存放區。請見使用外部檔案存放區安裝 Tableau Server。(Linux(連結在新視窗開啟))。

參考架構預設使用本機身分識別存放區。要設定本機身分識別存放區的初始主機,請透過tsm settings import命令來傳遞config.json檔案。

根據作業系統匯入 config.json 檔:

config.json檔包含在 scripts.<version> 目錄路徑中(例如,scripts.20204.21.0217.1203 ),且其格式可用來設定識別身分存放區。

執行以下命令匯入config.json檔:

tsm settings import -f /app/tableau_server/packages/scripts.<version_code>/config.json

設定外部 Postgres

  1. 使用下列組態設定建立外部資料庫 json 檔:

    {
    "flavor":"generic",
    "masterUsername":"postgres",
    "host":"<instance ip address>",
    "port":5432
    }
  2. 儲存對檔案的變更後,使用以下命令傳遞檔案:

    tsm topology external-services repository enable -f <filename>.json --no-ssl

    將會提示您輸入 Postgres 主要使用者名稱密碼。

    選項 --no-ssl 將 Tableau 設定為僅在 Postgres 伺服器設定為使用 SSL/TLS 時使用 SSL/TLS。若 Postgres 沒有設定為使用 SSL/TLS ,那麼連線不會被加密。第 6 部分 - 安裝後組態描述了在完成第一階段部署後如何為 Postgres 連線啟用 SSL/TLS。

  3. 應用變更。

    執行此命令來套用變更並重新啟動 Tableau Server:

    tsm pending-changes apply

  4. 刪除您在步驟 1 中使用的設定檔案。

完成節點 1 安裝

  1. 安裝 Tableau Server 後,必須初始化伺服器。

    執行以下命令:

    tsm initialize --start-server --request-timeout 1800

  2. 初始化完成後,必須建立一個 Tableau Server 管理員帳戶。

    有別於用來安裝和管理 TSM 操作系統元件的電腦帳戶,Tableau Server 管理員帳戶是一種用來建立 Tableau Server 使用者、專案和網站的應用程式帳戶。Tableau Server 管理員還能將使用權限應用在 Tableau 資源。執行以下命令以建立初始管理員帳戶。在下面的範例中,使用者被稱為tableau-admin

    tabcmd initialuser --server http://localhost --username "tableau-admin"

    Tabcmd 將提示您為此使用者設置密碼。

驗證:節點 1 組態

  1. 執行以下命令以驗證 TSM 服務是否正在執行:

    tsm status -v

    Tableau 應傳回以下內容:

    external: 
    Status: RUNNING
    'Tableau Server Repository 0' is running (Active Repository).
    node1: localhost
    Status: RUNNING
    'Tableau Server Gateway 0' is running.
    'Tableau Server Application Server 0' is running.
    'Tableau Server Interactive Microservice Container 0' is running.
    'MessageBus Microservice 0' is running.
    'Relationship Query Microservice 0' is running.
    'Tableau Server VizQL Server 0' is running. 
    ...

    將會列出所有服務。

  2. 執行以下命令以驗證 Tableau 管理站點是否正在執行:

    curl localhost

    前幾行應該顯示 Vizportal html,類似於:

    <!DOCTYPE html>
    <html xmlns:ng="" xmlns:tb="">
    <head ng-csp>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="initial-scale=1, maximum-scale=2, width=device-width, height=device-height, viewport-fit=cover">
    <meta name="format-detection" content="telephone=no">
    <meta name="vizportal-config ...

進行步驟 2 tar 備份

驗證初始安裝後,請進行二個 tar 備份:

  • PostgreSQL
  • Tableau 初始節點(節點 1)

在大多數情況下,可透過還原這些 tar 檔案來恢復初始節點的安裝。還原 tar 檔案比將初始節點重新安裝和重新初始化要快得多。

建立步驟 2 tar 檔案
  1. 在 Tableau 的初始節點上,停止 Tableau:

    tsm stop

    等待 Tableau 停止,然後再繼續下一步。

  2. 在 PostgreSQL 主機上,停止 Postgres 資料庫執行個體:

    sudo systemctl stop postgresql-13

  3. 執行以下命令建立 tar 備份:

    sudo su
    cd /var/lib/pgsql
    tar -cvf step2.13.bkp.tar 13
    exit
  4. 驗證 Postgres tar 檔案是使用 root 權限建立的:

    sudo ls -al /var/lib/pgsql

  5. 在 Tableau 主機上,停止 Tableau 管理服務:

    sudo /app/tableau_server/packages/scripts.<version_code>/./stop-administrative-services
  6. 執行以下命令建立 tar 備份:

    cd /data
    sudo tar -cvf step2.tableau_data.bkp.tar tableau_data	
  7. 在 Postgres 主機上,啟動 Postgres 資料庫:

    sudo systemctl start postgresql-13

  8. 啟動 Tableau 管理服務:

    sudo /app/tableau_server/packages/scripts.<version_code>/./start-administrative-services
  9. 在重新啟動之前執行 tsm status 命令以監測 TSM 狀態。

    在大多數情況下,該命令將先傳回 DEGRADED 或 ERROR 狀態。稍待片刻,然後再次執行該命令。如果傳回 ERROR 或 DEGRADED 狀態,則繼續等待。在傳回 STOPPED 狀態之前不要嘗試啟動 TSM。然後執行以下命令:

    tsm start

還原步驟 2

此過程會將 Tableau 節點 1 和 Postgres 執行個體還原到步驟 2。還原到此步驟後,可以重新部署剩餘的 Tableau 節點。

  1. 在初始 Tableau 主機(節點 1)上停止 tsm 服務:

    tsm stop

  2. 在 Tableau Server 部署的所有節點上停止 Tableau 管理服務。在每個節點上依次(節點 1、節點 2 、節點 3)執行以下命令:

    sudo /app/tableau_server/packages/scripts.<version_code>/./stop-administrative-services
  3. 在 Tableau 服務停止後,還原 PostgreSQL 步驟 2 tar。在執行 Postgres 的電腦上,執行以下命令:

    • sudo su
      systemctl stop postgresql-13
      cd /var/lib/pgsql
      tar  -xvf step2.13.bkp.tar
      systemctl start postgresql-13
      exit
  4. 還原 Tableau 步驟 2 tar。在初始 Tableau 主機上,執行以下命令:

    cd /data
    sudo rm -rf tableau_data
    sudo tar  -xvf step2.tableau_data.bkp.tar
  5. 在 Tableau 節點 1 電腦上,移除下列檔案:

    • sudo rm /data/tableau_data/data/tabsvc/appzookeeper/0/version-2/currentEpoch
    • sudo rm /data/tableau_data/data/tabsvc/appzookeeper/0/version-2/acceptedEpoch
    • sudo rm /data/tableau_data/data/tabsvc/tabadminagent/0/servicestate.json
  6. 啟動 Tableau 管理服務:

    sudo /app/tableau_server/packages/scripts.<version_code>/./start-administrative-services

  7. 重新載入 Tableau systmctl 檔,然後再次執行start-administrative-services

    sudo su -l tableau -c "systemctl --user daemon-reload"

    sudo /app/tableau_server/packages/scripts.<version_code>/./start-administrative-services

  8. 在節點 1 上,在重新啟動之前執行tsm status命令監測 TSM 狀態。

    在某些情況下,會收到錯誤訊息,Cannot connect to server... .出現此錯誤是因為 tabadmincontroller 服務尚未重新啟動。繼續定期執行tsm status。如果此錯誤在 10 分鐘後仍未消失,請再次執行start-administrative-services命令。

    片刻之後,tsm status命令將傳回 DEGRADED 狀態,然後傳回 ERROR。在傳回 STOPPED 狀態之前不要啟動 TSM。然後執行以下命令:

    tsm start

在其他節點繼續 Tableau Server 的安裝過程。

在其他節點安裝 Tableau Server

要繼續部署,請將 Tableau 安裝程式複製到每個節點。

Nodes 設定概觀

本節介紹設定節點 2-4的過程。以下各節提供了每個步驟的詳細設定和驗證過程。

Tableau Server 節點 2-4 的安裝要求您在節點安裝期間產生、複製和引用啟動程序檔案。

要產生啟動程序檔案,請在初始節點上執行 TSM 命令。然後,您會將啟動程序檔案複製到目標節點,並在其中將其當作節點初始化的一部分執行。

以下 json 內容顯示了啟動程序檔案範例。(為了使範例檔案易於閱讀,憑證與加密相關的數值已被截斷。)

{
"initialBootstrapSettings" : {
	"certificate" : "-----BEGIN CERTIFICATE-----\r\...=\r\n-----END CERTIFICATE-----",
	"port" : 8850,
	"configurationName" : "tabsvc",
	"clusterId" : "tabsvc-clusterid",
	"cryptoKeyStore" : "zs7OzgAAAAIAAAABAAAAA...w==",
	"toksCryptoKeystore" : "LS0tLS1CRUdJTiBUT00tLS0tCjM5MDBh...L",
	"sessionCookieMaxAge" : 7200,
	"nodeId" : "node1",
	"machineAddress" : "ip-10-0-1-93.us-west-1.compute.internal",
	"cryptoEnabled" : true,
	"sessionCookieUser" : "tsm-bootstrap-user",
	"sessionCookieValue" : "eyJjdHkiOiJKV1QiLCJlbmMiOiJBMTI4Q0JDLUhQ...",
	"sessionCookieName" : "AUTH_COOKIE"
	}
}

啟動程序檔案包括連線式的驗證,以對節點 1 進行身分驗證,並為啟動程序流程建立加密的管道。啟動程序工作階段是有時間限制的,設定和驗證節點非常耗時。設定節點時,計劃建立和複製新的啟動程序。

啟動程序檔案後,然後登入到初始 Tableau Server 節點並為新節點設定程序。完成節點設定後,必須套用變更並重新啟動初始節點。新節點已設定並啟動。新增節點時,部署的設定和重新啟動將繼續花費更長的時間才能完成。

整個 Linux 範例的安裝過程展示了 RHEL-like 發行版的命令。若執行的是 Ubuntu 發行版,請編輯相對應的命令。

  1. 執行更新以將最新的修正套用到 Linux OS:

    sudo yum update

  2. 下載並安裝相依性:

    sudo yum deplist tableau-server-<version>.rpm | awk '/provider:/ {print $2}' | sort -u | xargs sudo yum -y install

  3. 在根目錄中建立 /app/tableau_server 路徑:

    sudo mkdir -p /app/tableau_server

  4. 執行安裝程式並指定/app/tableau_server安裝路徑。例如,在類似於 Linux RHEL 的作業系統上,執行:

    sudo rpm -i --prefix /app/tableau_server tableau-server-<version>.x86_64.rpm

產生、複製並使用啟動程序檔案以初始化 TSM

以下流程展示在另一個節點初始化 TSM 時,如何產生、複製並使用啟動程序檔案。在此範例中,啟動程序檔案稱為 boot.json

在此範例中,主機在 AWS 中執行,其中 EC2 主機正在執行 Amazon Linux 2 。

  1. 連線到初始節點 (節點 1) 並執行以下命令:

    tsm topology nodes get-bootstrap-file --file boot.json

  2. 複製啟動程序檔到節點 2 。

    scp boot.json ec2-user@10.0.31.83:/home/ec2-user/

  3. 連線到節點 2 並切換到 Tableau Server 指令碼目錄:

    cd /app/tableau_server/packages/scripts.<version_number>

  4. 執行 initialize-tsm 命令並參照啟動程序檔:

    sudo ./initialize-tsm -d /data/tableau_data -b /home/ec2-user/boot.json --accepteula

  5. initialize-tsm 完成後,刪除 boot.json,然後結束或登出工作階段。

設定流程

您必須在執行 Tableau Server 管理控制項目(TSM 控制項目)的節點上設定 Tableau Server 叢集。TSM 控制項目在初始節點上執行。

設定節點 2

  1. 在節點 2 上使用啟動程序檔初始化 TSM 後,請登入初始節點。
  2. 要在節點 2 上設定程序,請在初始節點(node1 )執行以下命令:

    tsm topology set-process -n node2 -pr clustercontroller -c 1
    tsm topology set-process -n node2 -pr gateway -c 1
    tsm topology set-process -n node2 -pr vizportal -c 1
    tsm topology set-process -n node2 -pr vizqlserver -c 2
    tsm topology set-process -n node2 -pr cacheserver -c 2
    tsm topology set-process -n node2 -pr searchserver -c 1
    tsm topology set-process -n node2 -pr dataserver -c 2
    tsm topology set-process -n node2 -pr clientfileservice -c 1
    tsm topology set-process -n node2 -pr tdsservice -c 1
    tsm topology set-process -n node2 -pr collections -c 1
    tsm topology set-process -n node2 -pr contentexploration -c 1

    如果要安裝 2022.1 或更高版本,請同時新增索引和搜尋服務:

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

    如果要安裝版本 2023.3 或更高版本,請僅納入索引與搜尋服務:請勿新增搜尋與瀏覽 (searchserver) 服務

  3. 在套用前檢視組態。執行以下命令:

    tsm pending-changes list

  4. 確認您的變更在待處理清單中後(待處理清單中還有其他服務),請套用變更:

    tsm pending-changes apply

    所做的變更將需要重新啟動。設定與重新啟動會需要一些時間。

  5. 驗證節點 2 組態。執行以下命令:

    tsm status -v

設定節點 3

在節點 3 上使用啟動程序初始化 TSM,然後執行tsm topology set-process下面的命令。

每當您設定程序時,都會顯示一個協調服務警告。您可以在設定程序時忽略此警告。

  1. 在節點 3 上使用啟動程序檔案初始化 TSM 後,請登入初始節點 (node1 ) 並執行以下命令來設定流程:

    tsm topology set-process -n node3 -pr clustercontroller -c 1
    tsm topology set-process -n node3 -pr clientfileservice -c 1
    tsm topology set-process -n node3 -pr backgrounder -c 4
    tsm topology set-process -n node3 -pr filestore -c 1

    如果要安裝 2022.1 或更高版本,請同時新增索引和搜尋服務:

    tsm topology set-process -n node3 -pr indexandsearchserver -c 1
  2. 在套用前檢視組態。執行以下命令:

    tsm pending-changes list

  3. 確認您的變更在待處理清單中後(該清單將包括其他自動設定的服務),請套用變更:

    tsm pending-changes apply --ignore-warnings

    所做的變更將需要重新啟動。設定與重新啟動會需要一些時間。

  4. 透過執行以下命令確認組態:

    tsm status -v

將協調服務組合部署到節點 1-3

對於標準參考架構四節點部署,請執行以下流程:

  1. 在節點 1 上執行以下命令:

    tsm stop
    tsm topology deploy-coordination-service -n node1,node2,node3

    該流程包括重新啟動 TSM,這需要一些時間。

  2. 協調服務部署完成後,啟動 TSM:

    tsm start

進行步驟 3 tar 備份

安裝驗證後,請進行四個 tar 備份:

  • PostgreSQL
  • Tableau 初始節點(節點 1)
  • Tableau 節點 2
  • Tableau 節點 3
建立 Step 3 tar 檔案
  1. 在 Tableau 的初始節點上,停止 Tableau:

    tsm stop

  2. TSM 停止後,停止每個節點上的 Tableau 管理服務。在每個節點上依次(節點 1、節點 2 、節點 3)執行以下命令:

    sudo /app/tableau_server/packages/scripts.<version_code>/./stop-administrative-services

  3. 在 PostgreSQL 主機上,停止 Postgres 資料庫執行個體:

    sudo systemctl stop postgresql-12

  4. 執行以下命令建立 tar 備份:

    sudo su
    cd /var/lib/pgsql
    tar -cvf step3.12.bkp.tar 12
    exit
  5. 驗證 Postgres tar 檔案是使用 root 權限建立的:

    sudo ls -al /var/lib/pgsql

  6. 在 Postgres 主機上,啟動 Postgres 資料庫:

    sudo systemctl start postgresql-12

  7. 在節點 1、節點 2 和節點 3 上建立 tar 備份。在每個節點上執行以下命令:

    • cd /data
      sudo tar -cvf step3.tableau_data.bkp.tar tableau_data
    • 驗證是否使用 root 權限建立 Tableau tar 檔案:

      ls -al

  8. 在每個節點上依次(節點 1、節點 2 、節點 3)啟動 Tableau 管理服務 :

    sudo /app/tableau_server/packages/scripts.<version_code>/./start-administrative-services

  9. 在重新啟動之前執行 tsm status 命令以監測 TSM 狀態。

    在大多數情況下,該命令將傳回 DEGRADED 或 ERROR 狀態。稍待片刻,然後再次執行該命令。如果傳回 ERROR 或 DEGRADED 狀態,則繼續等待。在傳回 STOPPED 狀態之前不要嘗試啟動 TSM。然後執行以下命令:

    tsm start

還原步驟 3

此過程將還原 Tableau 節點 1、節點 2 和節點 3。也會還原 Postgres 執行個體到步驟 3。還原到此步驟後,可以部署協調服務、節點 4,然後是最終節點組態。

  1. 在初始 Tableau 主機(節點 1)上停止 tsm 服務:

    tsm stop

  2. TSM 停止後,停止節點 1、節點 2 和節點 3 上的 Tableau 管理服務。在每個節點上執行以下命令:

    sudo /app/tableau_server/packages/scripts.<version_code>/./stop-administrative-services

  3. 還原 PostgreSQL 步驟 3 tar。在執行 Postgres 的電腦上,執行以下命令:

    sudo su
    systemctl stop postgresql-12
    cd /var/lib/pgsql
    tar -xvf step3.12.bkp.tar
    systemctl start postgresql-12
    exit
  4. 在節點 1、節點 2 和節點 3 上還原 Tableau 步驟 3 tar。在每個 Tableau 節點上執行以下命令:

    cd /data
    sudo rm -rf tableau_data
    sudo tar  -xvf step3.tableau_data.bkp.tar
  5. 在 Tableau 節點 1 電腦上,移除下列檔案:

    • sudo rm /data/tableau_data/data/tabsvc/appzookeeper/1/version-2/currentEpoch
    • sudo rm /data/tableau_data/data/tabsvc/appzookeeper/1/version-2/acceptedEpoch
    • sudo rm /data/tableau_data/data/tabsvc/tabadminagent/0/servicestate.json

    如果 shell 傳回「找不到檔案」錯誤訊息,則可能需要變更路徑名稱以增加路徑此部分中的數字<n>.../appzookeeper/<n>/version-2/...

  6. 重新啟動節點 1、節點 2 和節點 3 上的管理服務。在每個節點上執行以下命令:

    sudo /app/tableau_server/packages/scripts.<version_code>/./start-administrative-services

    sudo su -l tableau -c "systemctl --user daemon-reload"

    sudo /app/tableau_server/packages/scripts.<version_code>/./start-administrative-services

  7. 在節點 1 上,在重新啟動之前執行tsm status命令監測 TSM 狀態。

    在某些情況下,會收到錯誤訊息,Cannot connect to server... .出現此錯誤是因為 tabadmincontroller 服務尚未重新啟動。繼續定期執行tsm status。如果此錯誤在 10 分鐘後仍未消失,請再次執行start-administrative-services命令。

    片刻之後,tsm status命令將傳回 DEGRADED 狀態,然後傳回 ERROR。在傳回 STOPPED 狀態之前不要啟動 TSM。然後執行以下命令:

    tsm start

在節點 1-3 上,繼續安裝流程以部署協調服務。

設定節點 4

節點 4 的設定過程與節點 3 相同。

將程序設定為與節點 3 設定的相同,執行與以上相同的命令集,但在命令中指定 node4 而不是 node3

與節點 3 驗證一樣,透過執行tsm status -v 來驗證節點 4 組態。

在繼續之前,請等待節點 4 上「檔案存放區」的過程完成同步。「檔案存放區」服務狀態將傳回is synchronizing直到它完成。當「檔案存放區」服務狀態傳回is running時,便可以繼續。

最終程序組態和驗證

程序設定的最後一步是從節點 1 刪除冗餘程序。

  1. 連接到初始節點 (node1)。

  2. 停用節點 1 上的檔案存放區。這將導致有關從相同位置的控制項目中刪除檔案存放區的警告。這個警告可以忽略。執行以下命令:

    tsm topology filestore decommission -n node1

  3. 在停止檔案存放區後,執行以下命令以從節點 1 中刪除後台流程:

    tsm topology set-process -n node1 -pr backgrounder -c 0

  4. 在套用前檢視組態。執行以下命令:

    tsm pending-changes list

  5. 確認您的變更在待處理清單中之後,請套用變更:

    tsm pending-changes apply

    所做的變更將需要重新啟動。設定與重新啟動會需要一些時間。

  6. 驗證組態:

    tsm status -v

    在繼續之前,請等待節點 4 上「檔案存放區」的過程完成同步。「檔案存放區」服務狀態將傳回is synchronizing直到它完成。當「檔案存放區」服務狀態傳回is running時,便可以繼續。

執行備份

完整復原 Tableau Server 所需的備份是由三個部分組合而成:

  • 存放庫和檔案存放區資料的備份檔案。這個檔案是由tsm maintenance backup命令所產生的。
  • 拓撲和組態匯出檔案。這個檔案是由tsm settings export命令所產生的。
  • 身份驗證憑證、金鑰和 keytab 檔案。

有關備份和還原過程的完整說明,請參閱 Tableau Server 主題執行 Tableau Server 的完整備份和還原(Linux(連結在新視窗開啟))。

在部署的這個階段,請執行tsm maintenance backuptsm settings export命令,就能包含完整還原所需的所有相關檔案和資產。

  1. 執行以下命令將組態和拓撲設定匯出到名為ts_settings_backup.json的檔案

    tsm settings export -f ts_settings_backup.json

  2. 建立存放庫和檔案存放區資料的備份,請在名為ts_backup-<yyyy-mm-dd>.tsbak的檔案中執行以下命令忽略有關檔案存放區不在控制項目節點上的警告。

    tsm maintenance backup -f ts_backup -d --skip-compression

    備份檔的位置:

    /data/tableau_data/data/tabsvc/files/backups/

  3. 複製這兩個檔案並保存在 Tableau Server 部署未共享的其他儲存資產上。

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