Tableau 服務管理員埠

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

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

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

暫時連接埠使用

如果已將作業系統設定為使用暫時連接埠,您的 Tableau 流量可能會透過這些連接埠路由,即使如下所述進行設定也是如此。這種情況發生在作業系統級別,您無法在 Tableau 中進行設定。如果要控制連接埠使用,請參閱作業系統文件,了解如何限制暫時連接埠使用。

防火牆需求

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

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

分散式/高可用性

80TCP閘道X 
443TCPSSL。針對 SSL 設定 Tableau Server 後,應用程式伺服器會將要求重新導向到此埠。不要變更此埠。X 
8850TCPTableau 服務管理器。X 
8060TCPPostgreSQL 資料庫。X 
8061TCPPostgreSQL 備份驗證埠X 
8000-9000TCP為 Tableau 處理序動態對應保留的埠範圍 X
27000-27009TCPTableau 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.port8060Tableau 存放庫(PostgreSQL 資料庫)的埠。

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

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

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

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

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

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

tsm configuration get -k pgsql.port

動態對應埠

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

埠名稱:json 檔案的語法 (configKeys)埠名稱:tsm CLI 的語法 說明
activemqserver.portactivemqserver:primaryActiveMQ Service 服務連接埠。
activemqserver.openwire.portactivemqserver:openwireActiveMQ Service openwire port.
appzookeeper_0.client.portappzookeeper:client協調服務用戶端埠。
appzookeeper_0.peer.portappzookeeper:peer協調服務對等埠。
appzookeeper_0.leader.portappzookeeper:leader協調服務負責人埠。
backgrounder_0.portbackgrounder背景程式主埠。
backgrounder_0.debug.portbackgrounder:debug背景程式調試埠。
backgrounder_0.jmx.portbackgrounder:jmx背景程式 jmx 埠。 
backgrounder_0.jmx.rmi.portbackgrounder:jmx.rmi背景程式 jmx rmi 連接埠。
backgrounder_0.recommendations.trainer.portbackgrounder:recommendations.trainer背景程式建議連接埠。
backuprestore.portbackuprestore備份/還原服務埠。
cacheserver_0.portcacheserver快取伺服器埠。
clustercontroller.status.portclustercontroller:status叢集控制器狀態埠。
clustercontroller.storage.portclustercontroller:storage叢集控制器存儲埠。
databasemaintenance.portdatabasemaintenance資料庫維護連接埠。
dataserver_0.portdataserverData Server 主要連接埠。
dataserver_0.debug.portdataserver:debugData Server 調試連接埠。
dataserver_0.jmx.portdataserver:jmxData Server jmx 連接埠。
dataserver_0.jmx.rmi.portdataserver:jmx.rmiData Server jmx rmi 連接埠。
filestore.portfilestore檔存儲主埠。
filestore.status.portfilestore:status檔存儲狀態埠。
gateway.portgateway閘道埠。此埠預設為 80,如果此值不可用,則為 8080。如果此值不可用,則綁定 8000。無論是否啟用動態埠指派,都遵循該順序。如果這些埠都不可用,並且啟用了動態對應,則它將在定義的範圍內使用一個可用的埠。閘道埠在多節點叢集中的所有節點上必須相同,因此如果在初始節點上選取了埠 80,則這是將在所有節點上使用的埠,並且如果在其中一個其他節點上不可用, 則閘道埠選取將失敗。
hyper.porthyper資料引擎主連接埠。
hyper.connection.porthyper:connection資料引擎連線連接埠。
indexandsearchserver.portindexandsearchserverIndex and Search server primary port.
indexandsearchserver.transport.portindexandsearchserver:transportIndex and Search server transport port.
licenseservice.vendor_daemon.portlicenseservice:vendor_daemon授權服務提供者精靈連接埠。在多節點安裝中用於節點之間與授權相關的通訊作業。
samlservice.portsamlserviceSAML 服務連接埠。
siteimportexport.portsiteimportexport網站匯入/匯出埠。
tabadmincontroller.porttabadmincontrollerTSM 控制器埠。
tabadminagent.columbo.porttabadminagent:columbo管理代理程式服務發現連接埠
tabadminagent.filetransfer.porttabadminagent:filetransferTSM 代理程式檔案傳輸連接埠。
vizportal_0.authentication.portvizportal:authentication應用程式伺服器驗證埠。
vizportal_0.authorization.portvizportal:authorization應用程式伺服器授權埠。
vizportal_0.maintenance.portvizportal:.maintenance應用程式伺服器維護埠。
vizportal_0.microservice.extensions.portvizportal:.microservice:extensions應用程式伺服器擴充程式連接埠。
vizportal_0.monolith_grpc.portvizporta:monolith_grpc應用程式伺服器 GRPC 連接埠。
vizportal_0.publishing.portvizportal:publishing應用程式伺服器發佈埠。
vizportal_0.recommendations.portvizportal:recommendations應用程式伺服器建議埠。
vizportal_0.portvizportal應用程式伺服器主埠。
vizportal_0.debug.portvizportal:debug應用程式伺服器調試埠。
vizportal_0.jmx.portvizportal:jmx應用程式伺服器 jmx 埠。
vizportal_0.jmx.rmi.portvizportal:jmx.rmi應用程式伺服器 jmx rmi 埠。
vizqlserver_0.portvizqlserverVizQL 伺服器主埠。
vizqlserver_0.debug.portvizqlserver:debugVizQL 伺服器調試埠。
vizqlserver_0.jmx.portvizqlserver:jmxVizQL 伺服器 jmx 埠。
vizqlserver_0.jmx.rmi.portvizqlserver:jmx.rmiVizQL 伺服器 jmx rmi 埠。

 

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