第 2 部分 - 瞭解 Tableau Server 部署參考架構
下圖顯示了相關的 Tableau Server 處理序以及它們在參考架構中的部署方式。此部署被認為是適合企業的最小 Tableau Server 部署。
本主題中的流程圖旨在顯示每個節點的主要定義處理序。許多支援處理序也在圖中未顯示的節點上執行。有關所有處理序的清單,請參見本指南的設定部分,即第 4 部分 - 安裝並設定 Tableau Server 。
Tableau Server 處理序
Tableau Server 參考架構是一個四節點 Tableau Server 叢集部署,在 PostgreSQL 上具有外部存放庫:
- Tableau Server 初始節點(節點 1):執行所需的 TSM 管理和授權服務,這些服務只能在叢集中的單個節點上執行。在企業內容中,Tableau Server 初始節點是叢集中的主要節點。此節點還與節點 2 一起執行冗餘應用程式服務。
- Tableau Server 應用程式節點(節點 1 和節點 2):這兩個節點服務用戶端請求,連線並查詢資料來源以及資料節點。
- Tableau Server 資料節點(節點 3 和節點 4):兩個專門管理資料的節點。
- 外部 PostgreSQL:此主機執行 Tableau Server 存放庫程序。對於 HA 部署,必須對主動/被動冗餘執行額外的 PostgreSQL 主機。
還可以在 Amazon RDS 上執行 PostgreSQL。有關在 RDS 與 EC2 執行個體上執行存放庫之間的差異詳情,請參閱 Tableau Server 外部存放庫 (Linux(連結在新視窗開啟))。
使用外部存放庫部署 Tableau Server 需要 Tableau Advanced Management 授權。
若您的組織沒有內部 DBA 專業知識,則可以選擇在預設的內部 PostgreSQL 設定中執行 Tableau Server 存放庫流程。預設情況下,存放庫在具有內嵌 PostgreSQL 的 Tableau 節點上執行。在這種情況下,建議在專用 Tableau 節點上執行存放庫,並在其他專用節點上執行被動存放庫,以支援存放庫容錯移轉。請參閱存放庫容錯移轉 (Linux(連結在新視窗開啟))。
例如,本指南中描述的 AWS 實作解釋了如何在 EC2 執行個體上執行的 PostgreSQL 上部署外部存放庫。
可選:若您的組織使用外部儲存體,則可以將 Tableau 檔案存放區部署為外部服務。本指南不包括核心部署情境中的外部檔案存放區。請參閱使用外部檔案存放區安裝 Tableau Server (Linux(連結在新視窗開啟))。
使用外部檔案存放區部署 Tableau Server 需要 Tableau Advanced Management 授權。
PostgresSQL 存放庫
Tableau Server 存放庫是儲存伺服器資料的 PostgresSQL 資料庫。此資料包括有關 Tableau Server 使用者、群組和群組分派、使用權限、專案、資料來源和資料擷取中繼資料的資訊以及重新整理資訊。
預設的的 PostgresSQL 部署會消耗將近 50%的系統記憶體資源。根據其使用情況(用於生產和大型生產部署)而定,資源使用量會上升。因此,我們建議在未執行任何其他資源密集型伺服器元件(例如 VizQL、背景程式或資料引擎)的計算機上存放庫程序。與任何這些元件一起執行存放庫程序將會建立 IO 爭用、資源約束,並降低部署的整體效能。
節點 1:初始節點
初始節點執行少量的重要流程,並與節點 2 分擔應用程式負載。
安裝 Tableau 的第一台電腦(「初始節點」)會有一些獨特的特性。有三個處理序只能在初始節點上執行,無法轉移到任何其他節點(出現故障的情況下除外),即授權服務(授權管理器)、啟用服務和 TSM 控制器(管理控制器)。
節點 1 容錯移轉和自動還原
授權、啟用和 TSM 控制器服務對 Tableau Server 部署的執行狀況至關重要。若節點 1 發生故障,使用者仍然可以連線到 Tableau Server 部署,因為正確設定的參考架構會將請求路由到節點 2。但是,若沒有這些核心服務,部署將處於擱置故障嚴重狀態。請參閱初始節點自動復原。
節點 1 和 2:應用程式伺服器
節點 1 和 2 執行 Tableau Server 程序,這些程序為用戶端請求,查詢資料來源,產生視覺效果,處理內容和管理以及其他核心 Tableau 商業邏輯提供服務。應用伺服器不儲存使用者資料。
附註:「應用程式伺服器」是一個術語,也指 TSM 中列出的 Tableau Sever 流程。「應用程式伺服器」的基礎流程為 VizPortal。
並行執行的節點 1 和節點 2 進行擴充,以對來自反向 Proxy 伺服器上執行的負載平衡邏輯的請求提供服務。作為冗餘節點,若這些節點之一出現故障,則用戶端請求和服務會由其餘節點進行處理。
參考架構的設計使互補的應用程序在同一台電腦上執行。這代表程序不會競爭電腦資源並產生爭用。
例如,應用程式伺服器上的核心處理服務 VizQL 佔用大量 CPU 和記憶體,佔用了電腦上將近 60% 至 70% 的 CPU 和記憶體。因此,設計參考架構的目的是使其他記憶體或 CPU 綁定程序與 VizQL 不在同一節點上。測試顯示,使用者的負載或數量不會影響 VizQL 節點上的記憶體或 CPU 使用率。例如,減少負載測試中的並行使用者數量只會影響儀表板或視覺效果載入程序的效能,而不會降低資源利用率。因此,根據尖峰使用量期間的可用記憶體和 CPU,可以考慮新增更多 VizQL 程序。作為典型工作簿的起始位置,為每個 VizQL 程序指派 4 個內核。
擴充應用程式伺服器
該參考架構旨在根據基於使用情況的模型進行擴充。作為一般起點,我們建議至少使用兩個應用程式伺服器,每個最多支援 1000 個使用者。隨著使用者的增加,計劃每增加 1000 個使用者,則新增一個應用程式伺服器。監視使用情況和效能,為您的組織調整每台主機的使用者。
節點 3 和 4:資料伺服器
由於以下原因,檔案存放區、資料引擎 (Hyper)、背景程式流程共同位於節點 3 與 4 上:
- 擷取最佳化:在同一節點上執行背景程式、Hyper 和檔案存放區可最佳化效能和可靠性。在擷取程序中,背景程式查詢目標資料庫,在同樣節點上建立 Hyper 檔案,然後上傳到檔案存放區。透過在同一節點放置這些程序,擷取建立工作流程不需要跨網路或節點複製大量資料。
- 免費資源平衡:背景程式主要佔用大量 CPU。資料引擎是一個佔用大量記憶體的程序。耦合這些程序可以最大限度地利用每個節點上的資源。
- 資料程序的整合:由於這些程序都是後端資訊流程,因此有必要在最安全的資料層中執行它們。在參考架構的未來版本中,應用程式和資料伺服器將在不同層中執行。但是,由於 Tableau 架構中的應用程式有依賴性,此時應用程式和資料伺服器必須執行在同一層中。
擴充資料伺服器
與應用程式伺服器一樣,規劃 Tableau 資料伺服器所需的資源需要基於使用情況的建模。通常,假設每個資料伺服器每天最多可以支援 2000 個資料擷取重新整理作業。隨著擷取作業的增加,請在沒有檔案存放區服務的情況下新增其他資料伺服器。通常,雙節點資料伺服器部署適用於使用本機檔案系統進行檔案存放區服務的部署。請注意,新增更多應用程式伺服器不會以線性方式影響資料伺服器的效能或規模。事實上,除了來自額外使用者查詢的一些額外負荷外,新增更多應用程式主機和使用者的影響很小。