在 Windows 上設定 PolyBase 相應放大群組
適用於: SQL Server - 僅限 Windows Azure SQL 受控執行個體
本文描述如何在 Windows 上設定 PolyBase 相應放大群組。 這會建立 SQL Server 執行個體叢集,以相應放大方式處理來自外部資料來源 (例如 Hadoop 或 Azure Blob 儲存體) 的大型資料集,以提高查詢效能。
重要
Microsoft SQL Server PolyBase 向外延展群組將會淘汰。 向外延展群組功能將從 SQL Server 2022 (16.x) 產品移除。 PolyBase 資料虛擬化將在 SQL Server 作為向上擴充的功能來繼續受到完整支援。 如需詳細資訊,請參閱 Microsoft SQL Server 平台上的巨量資料選項。
必要條件
相同網域內有超過一部電腦。
一個執行 PolyBase 服務的網域使用者帳戶。 建議使用群組受控服務帳戶 (gMSA)。 如需詳細資訊,請參閱群組受控服務帳戶概觀。
程序概觀
下列步驟摘要建立 PolyBase 相應放大群組的程序。 下一節會提供每個步驟更詳細的逐步解說。
在 N 部電腦上安裝同一個含有 PolyBase 的 SQL Server 版本。
選取一個 SQL Server 執行個體做為前端節點。
使用 sp_polybase_join_group,加入其餘的 SQL Server 執行個體作為計算節點。
使用 sys.dm_exec_compute_nodes (Transact-SQL) 監視群組中的節點。
選擇性。 使用 sp_polybase_leave_group (Transact-SQL) 移除計算節點。
範例逐步解說
這會使用下列項目逐步設定 PolyBase 群組︰
位於網域 PQTH4A 中的兩部電腦 電腦名稱為︰
PQTH4A-CMP01
PQTH4A-CMP02
網域帳戶:PQTH4A\PolyBaseUser
在所有電腦上安裝包含 PolyBase 的 SQL Server
執行 setup.exe。
在 [功能選取] 頁面上,選取 [適用於外部資料的 PolyBase 查詢服務] 。
在 [伺服器設定] 頁面上,針對 SQL Server PolyBase 引擎和 SQL Server PolyBase 資料移動服務,請使用網域帳戶 PQTH4A\PolyBaseUser。
在 [PolyBase 組態] 頁面上,選取 [Use the SQL Server instance as part of a PolyBase scale-out group (使用此 SQL Server 執行個體作為 PolyBase 向外延展群組的一部分)] 。 這會開啟防火牆,以允許 PolyBase 服務的連入連線。 SQL Server 安裝精靈會自動在 Windows Server 防火牆中公開下列 TCP 通訊埠:1433、16450-16453 和 17001。 如果前端節點是 SQL Server 具名執行個體,您還必須將 SQL Server 連接埠手動新增至前端節點的 Windows 防火牆,同時在此前端節點上啟動 SQL Browser。 僅可在 PolyBase 向外延展群組的伺服器防火牆上允許連接埠。
安裝程式完成之後,執行 services.msc。 確認 SQL Server、PolyBase Engine 和 PolyBase Data Movement Service 正在執行中。
選取一個 SQL Server 作為前端節點
安裝程式完成之後,這兩部電腦可用來做為 PolyBase 群組前端節點。 在此範例中,我們選擇 PQTH4A-CMP01 上的 "MSSQLSERVER" 執行個體作為前端節點。
新增其他 SQL Server 節點作為計算節點
連接到 PQTH4A-CMP02 上的 SQL Server。
執行預存程序 sp_polybase_join_group。
-- Enter head node details: -- head node machine name, head node dms control channel port, head node sql server name EXEC sp_polybase_join_group 'PQTH4A-CMP01', 16450, 'MSSQLSERVER';
在計算節點 (PQTH4A-CMP02) 上執行 services.msc。
關閉 PolyBase 引擎並重新啟動 PolyBase 資料移動服務。
注意
當 PolyBase 引擎服務在前端節點中重新啟動或停止時,資料移動服務 (DMS) 服務會在 DMS 與 Polybase 引擎服務 (DW) 之間關閉通道時立即停止。 如果 DW 引擎重新啟動超過兩次,則 DMS 會進入 90 分鐘的無干擾週期,且必須等候 90 分鐘才能進行下一次自動啟動嘗試。 在這種情況下,您應該在所有節點上手動啟動此服務。
選擇性:移除計算節點
連線到計算節點 SQL Server (PQTH4A-CMP02)。
執行預存程序
sp_polybase_leave_group
。EXEC sp_polybase_leave_group;
在已移除的計算節點 (PQTH4A-CMP02) 上執行 services.msc。
啟動 PolyBase Engine。 重新啟動 PolyBase 資料移動服務。
透過在 PQTH4A-CMP01 上執行 DMV
sys.dm_exec_compute_nodes
,確認節點已移除。 現在,PQTH4A-CMP02 將可用來做為獨立的前端節點
限制
如果您將預設 SQL Server 執行個體設定為接聽 1433 以外的 TCP 通訊埠,就無法將其當作 PolyBase 向外延展群組中的前端節點來使用。 執行
sp_polybase_join_group
時,如果傳遞 'MSSQLSERVER' 作為執行個體名稱,SQL Server 會假設連接埠 1433 是接聽程式連接埠,因此資料移動服務在啟動時將無法連線到前端節點。Always On 可用性群組不支援 PolyBase 向外延展群組。