組成 Tableau Services Manager (TSM) 和 Windows 版 Tableau Server 的元件的處理序和服務使用各種埠進行通信。預設情況下,會從預定義的埠範圍動態指派(對應)大多數這些埠。埠指派是在安裝每個服務或處理序時為其進行的。您可以透過多種方式控制使用的埠。

一小部分處理序不使用動態埠對應,並且行為方式獨特。有關詳情,請參閱下面的非動態對應的埠

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

防火牆需求

如果在將安裝 Tableau Server 的電腦上執行防火牆,則您需要為 Tableau Server 流量開啟以下預設埠。除 443 外的所有埠號均可變更。

TCP/UDP 使用者... ALL安裝類型
全部

分散式/高可用性

80 TCP 閘道 X  
443 TCP SSL。針對 SSL 設定 Tableau Server 後,應用程式伺服器會將要求重新導向到此埠。不要變更此埠。 X  
8850 TCP Tableau 服務管理器。 X  
8060 TCP PostgreSQL 資料庫。 X  
8061 TCP PostgreSQL 備份驗證埠 X  
8000-9000 TCP 為 Tableau 處理序動態對應保留的埠範圍   X
27000-27009 TCP Tableau Server 用於授權服務的埠範圍。必須在執行授權服務並可從其他節點存取的節點上開放此範圍。預設情況下,初始節點執行授權服務。 X  

Port assignment

您可以採用兩種方法在 TSM 中指派或對應埠:

  • 動態埠指派。這是預設設定,需要管理員進行的干預最少。
  • 手動指派連接埠。此選項要求管理員分別指派每個埠。

如果變更埠指派並且正在執行本機防火牆,請參閱本機防火牆設定

動態埠指派

您可以透過變更可用於動態指派過程的埠範圍來控制所使用的埠。這樣做會使用動態埠指派,但會限制可以選取的埠。使用動態埠指派時,您仍然可以選取手動為某些處理序指派埠。利用這種方法,您可以將特定埠指派給特定處理序,同時動態對應其他埠。無論是有還是沒有一些單獨指派的埠,使用動態對應都是最簡單的方法,應該能夠滿足大多數客戶的要求。如果匯出 Tableau Server 設定,則會保留動態指派的埠。

預設情況下,可在 8000 到 9000 之間的可用埠中為每個服務或處理序指派埠。在節點上首次安裝服務時,會進行此指派。在初始化 Tableau Server 之後,可以透過執行以下命令來檢視哪些服務或處理序正在使用哪些埠:

tsm topology list-ports

如果您有多節點叢集,則會列出所有節點上的埠。

變更埠範圍

對於對所使用的埠有特定要求的組織,控制此項的最簡單方法是變更埠動態選取範圍。您需要在安裝時執行此操作,方法是在設定檔案中指定範圍的最小埠和最大埠。

附註:您的埠範圍的最小允許大小將取決於您的伺服器安裝,以及您正在執行的服務或處理序的數量。作為一個通用的最佳方法,您不應該將範圍限制得太緊,因為埠指派是透過選取範圍內的隨機埠來完成的,如果您未酌留足夠大的範圍,所做的選取可能無法找到可用的埠。

要將可用埠的選取範圍限制在 8300 到 8600 之間,那麼您的設定檔應包含類似如下的條目:

"configKeys": {
"ports.range.min": "8300", "ports.range.max": "8600"
}

封鎖範圍內的特定連接埠

從版本 2021.1.0 開始,可以指定動態指派範圍內 Tableau 不應使用的某些連接埠。若 Tableau Server 電腦上有其他軟體依賴於範圍內 Tableau 使用的連接埠,這會很有用。

若要指定範圍內 TSM 和 Tableau Server 不應使用的連接埠,請使用 ports.blocklist 設定金鑰:

tsm configuration set -k ports.blocklist -v <port>[,<port>,<port>]

例如:

tsm configuration set -k ports.blocklist -v 8000,8088, 8090

停用動態埠指派

如果您需要的埠指派控制權超出了透過限制埠範圍和單獨指派埠可獲得的控制權,則可以在初始伺服器設定中停用動態埠對應。如果要停用動態埠對應,則您必須為每個處理序手動指派每個埠,所以我們不建議這樣做,除非您需要控制每個埠的指派。

如果停用動態埠對應,則必須為安裝的每個節點上的每個處理序設定埠。

要停用動態對應,您的設定檔將包含類似於以下的條目:

"configKeys": {
"service.port_remapping.enabled": false
}

重要資訊:停用動態埠指派時,不會包括授權服務埠範圍。在執行授權服務並可從其他節點存取的節點上,此範圍 (27000-27009) 必須開放。預設情況下,初始節點執行授權服務。

手動指派連接埠

您可以完全停用自動埠指派,並為每個處理序單獨指派一個埠。如果這樣做,則必須為每個節點上的每個處理序指派一個埠。首次安裝處理序時或安裝後,您可以使用 TSM 命令在設定檔案中指派埠。僅當匯出 Tableau Server 設定時,才保留在處理序安裝時指派的埠。

無論是否啟用動態對應,您都可以為特定處理序指定單獨的埠。如果您希望處理序使用特定的埠,或者您已停用動態對應,則可能會這樣做。可以使用以下兩種方法為處理序指定埠:在安裝期間或後來安裝。

安裝時設定埠

建議您如下所述,在安全過程期間設定埠指派。在安裝後變更埠更耗費人力。

若要在安裝期間設定埠,請建立一個指定埠設定的 json 檔案。此程序類似定義非預設埠範圍,但是您可以為特定服務或處理序指定特定埠。如果要指派特定埠,此方法是最健全的方法,因為如果您使用 tsm settings export 命令匯出伺服器設定和拓撲設定,埠對應將會保留。

若要在安裝時定義連接埠,請將資訊新增至組態檔,以指定節點 (workerN)、程序 (servicename)、執行個體 ID (instanceid)、連接埠類型 (porttype) 以及要使用的連接埠。格式看起來會像這樣:

workerN.{servicename}_{instanceid}.{porttype}.port:X

其中:

  • workerN  是可選參數並識別重新對應套用的節點。節點編號以零 (0) 開頭。
    我們建議您不要包含此參數,除非您需要為不同節點上的相同服務對應不同埠。如果關閉該參數,則可以在初始節點上對應服務埠,或在多個節點上對應相同的服務埠。
  • servicename 是會使用該連接埠的程序或服務名稱。
  • instanceid 是處理序的實例。如果要在一個節點上設定多個處理序實例,則需要為每個實例遞增此值。讓 instanceid 從零 (0) 開始,並針對每個處理序實例將其遞增一 (1)。對於在任何指定節點上只安裝單一執行個體的服務,必須予以關閉。
  • porttype :若設定主要連接埠,請勿包含此選項。
  • port 是程序或服務應使用的連接埠。

例如,要將初始節點上檔存儲處理序的第一個實例的埠設定為 8500,則要包含類似於以下內容的設定檔條目:

"configKeys": {
"filestore_0.port: "8500"
}

上面的範例不包含可選的 workerN 參數,因此該範例設定叢集中所有節點上的埠。它也會關閉 porttype 選項,因為它正在設定主檔案存儲埠。

重要資訊:使用設定檔指定埠變更時,您必須隨 tsm settings import 命令一起包括 --force-keys 參數。

安裝之後設定埠

如果需要在安裝 Tableau Server 之後變更埠,請使用 tsm topology set-ports 命令。該方法允許您在安裝完該處理序後指定特定處理序的埠。您受限於以下限制:

  • 您必須在每個節點上單獨設定埠。
  • 設定一個埠之後,必須執行 tsm restart
  • 如果您需要使用 tsm settings import 匯入 Tableau Server 組態,系統便不會保留指派的連接埠。
  • 埠名稱使用的 tsm 命令語法不同於 configKeys 所需的語法。本主題結尾的表格提供了語法參考。

例如,要在初始節點上設定檔存儲的第二個實例以使用埠 8500,請使用以下命令:

tsm topology set-ports --node-name node1 --port-name filestore --port-value 8500 --instance 2

下列範例說明如何使用速記命令設定 JMX 埠:

tsm topology set-ports -n node1 --port-name vizqlserver:jmx.rmi -pv 9403 -i 1

tsm topology set-ports -n node1 --port-name vizqlserver:jmx -pv 9404 -i 2

附註:輸入時不會驗證埠項目。因此,如果您使用已指派的連接埠,或者如果命令的語法輸入有誤,則在重新啟動之前,Tableau 不會顯示錯誤。重新啟動之後,可能會看到一般錯誤,重新設定非同步工作失敗。

如果您使用有效的埠新增不正確的 portname:type,則無法刪除不正確的項目。若要更新該埠,您必須將未使用的連接埠重新指派給該值以再次釋放該埠。

非動態對應的埠

Tableau Server 存放庫使用兩個未動態對應的埠。它們每個都有一個預設埠,您可以使用 tsm configuration set 命令和特定於處理序的參數覆蓋預設埠。

連接埠名稱 埠(預設) 說明
pgsql.port 8060 Tableau 存放庫(PostgreSQL 資料庫)的埠。

要覆蓋此埠,請使用以下命令:

tsm configuration set -k pgsql.port <port>

pgsql.verify_restore.port 8061 用於驗證存放庫備份完整性的埠。

要覆蓋此埠,請使用以下命令:

tsm configuration set -k pgsql.verify_restore.port <port>

由於這些埠不使用動態埠對應系統,因此它們不會顯示在 tsm topology list-ports 命令的輸出中。要檢視這些項的值,您需要使用 tsm configuration get -k <config.value> 命令。例如:

tsm configuration get -k pgsql.port

動態對應埠

此表列出了使用動態對應埠的處理序或服務。

埠名稱:json 檔案的語法 (configKeys) 埠名稱:tsm CLI 的語法  說明
appzookeeper_0.client.port appzookeeper:client 協調服務用戶端埠。
appzookeeper_0.peer.port appzookeeper:peer 協調服務對等埠。
appzookeeper_0.leader.port appzookeeper:leader 協調服務負責人埠。
backgrounder_0.port backgrounder 背景程式主埠。
backgrounder_0.debug.port backgrounder:debug 背景程式調試埠。
backgrounder_0.jmx.port backgrounder:jmx 背景程式 jmx 埠。 
backgrounder_0.jmx.rmi.port backgrounder:jmx.rmi 背景程式 jmx rmi 連接埠。
backgrounder_0.recommendations.trainer.port backgrounder:recommendations.trainer 背景程式建議連接埠。
backuprestore.port backuprestore 備份/還原服務埠。
cacheserver_0.port cacheserver 快取伺服器埠。
clustercontroller.status.port clustercontroller:status 叢集控制器狀態埠。
clustercontroller.storage.port clustercontroller:storage 叢集控制器存儲埠。
databasemaintenance.port databasemaintenance 資料庫維護連接埠。
dataserver_0.port dataserver Data Server 主要連接埠。
dataserver_0.debug.port dataserver:debug Data Server 調試連接埠。
dataserver_0.jmx.port dataserver:jmx Data Server jmx 連接埠。
dataserver_0.jmx.rmi.port dataserver:jmx.rmi Data Server jmx rmi 連接埠。
filestore.port filestore 檔存儲主埠。
filestore.status.port filestore:status 檔存儲狀態埠。
gateway.port gateway 閘道埠。此埠預設為 80,如果此值不可用,則為 8080。如果此值不可用,則綁定 8000。無論是否啟用動態埠指派,都遵循該順序。如果這些埠都不可用,並且啟用了動態對應,則它將在定義的範圍內使用一個可用的埠。閘道埠在多節點叢集中的所有節點上必須相同,因此如果在初始節點上選取了埠 80,則這是將在所有節點上使用的埠,並且如果在其中一個其他節點上不可用, 則閘道埠選取將失敗。
hyper.port hyper 資料引擎主連接埠。
hyper.connection.port hyper:connection 資料引擎連線連接埠。
licenseservice.vendor_daemon.port licenseservice:vendor_daemon 授權服務提供者精靈連接埠。在多節點安裝中用於節點之間與授權相關的通訊作業。
samlservice.port samlservice SAML 服務連接埠。
searchserver.port searchserver 搜尋伺服器主埠。
searchserver.debug.port searchserver:debug 搜尋伺服器調試埠。
searchserver.jmx.port searchserver:jmx 搜尋伺服器 jmx 埠。
searchserver.jmx.rmi.port searchserver:jmx:rmi 搜尋伺服器 jmx rmi 埠。
searchserver.startup.port searchserver:startup 搜尋伺服器啟動埠。
siteimportexport.port siteimportexport 網站匯入/匯出埠。
tabadmincontroller.port tabadmincontroller TSM 控制器埠。
tabadminagent.columbo.port tabadminagent:columbo 管理代理程式服務發現連接埠
tabadminagent.filetransfer.port tabadminagent:filetransfer TSM 代理程式檔案傳輸連接埠。
vizportal_0.authentication.port vizportal:authentication 應用程式伺服器驗證埠。
vizportal_0.authorization.port vizportal:authorization 應用程式伺服器授權埠。
vizportal_0.maintenance.port vizportal:.maintenance 應用程式伺服器維護埠。
vizportal_0.microservice.extensions.port vizportal:.microservice:extensions 應用程式伺服器擴充程式連接埠。
vizportal_0.monolith_grpc.port vizporta:monolith_grpc 應用程式伺服器 GRPC 連接埠。
vizportal_0.publishing.port vizportal:publishing 應用程式伺服器發佈埠。
vizportal_0.recommendations.port vizportal:recommendations 應用程式伺服器建議埠。
vizportal_0.port vizportal 應用程式伺服器主埠。
vizportal_0.debug.port vizportal:debug 應用程式伺服器調試埠。
vizportal_0.jmx.port vizportal:jmx 應用程式伺服器 jmx 埠。
vizportal_0.jmx.rmi.port vizportal:jmx.rmi 應用程式伺服器 jmx rmi 埠。
vizqlserver_0.port vizqlserver VizQL 伺服器主埠。
vizqlserver_0.debug.port vizqlserver:debug VizQL 伺服器調試埠。
vizqlserver_0.jmx.port vizqlserver:jmx VizQL 伺服器 jmx 埠。
vizqlserver_0.jmx.rmi.port vizqlserver:jmx.rmi VizQL 伺服器 jmx rmi 埠。

 

感謝您的意見回饋!