Skip to content

Commit 4a4cc7f

Browse files
authored
Merge pull request #29511 from NathanMSFT/ScaleoutAndAGNotSupported
Scaleout groups not supported with Availability Groups
2 parents c6ec505 + 72ce3ad commit 4a4cc7f

3 files changed

Lines changed: 35 additions & 31 deletions

File tree

docs/relational-databases/polybase/configure-scale-out-groups-windows.md

Lines changed: 31 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: "Configure PolyBase scale-out groups on Windows"
33
description: Set up a PolyBase scale-out group to create a cluster of SQL Server instances. This improves query performance for large data sets from external sources.
44
author: WilliamDAssafMSFT
55
ms.author: wiassaf
6-
ms.date: 02/22/2022
6+
ms.date: 01/09/2024
77
ms.service: sql
88
ms.subservice: polybase
99
ms.topic: "tutorial"
@@ -15,7 +15,7 @@ monikerRange: ">= sql-server-2016"
1515

1616
This article describes how to set up a [PolyBase scale-out group](polybase-scale-out-groups.md) on Windows. This creates a cluster of SQL Server instances to process large data sets from external data sources, such as Hadoop or Azure Blob Storage, in a scale-out fashion for better query performance.
1717

18-
[!INCLUDE[polybase-scaleout-banner-retirement](../../includes/polybase-scaleout-banner-retirement.md)]
18+
[!INCLUDE [polybase-scaleout-banner-retirement](../../includes/polybase-scaleout-banner-retirement.md)]
1919

2020
## Prerequisites
2121

@@ -29,13 +29,13 @@ The following steps summarize the process for creating a PolyBase scale-out grou
2929

3030
1. Install the same version of SQL Server with PolyBase on N machines.
3131

32-
2. Select one SQL Server instance as the head node.
32+
1. Select one SQL Server instance as the head node.
3333

34-
3. Add remaining SQL Server instances as compute nodes using [sp_polybase_join_group](../../relational-databases/system-stored-procedures/polybase-stored-procedures-sp-polybase-join-group.md).
34+
1. Add remaining SQL Server instances as compute nodes using [sp_polybase_join_group](../../relational-databases/system-stored-procedures/polybase-stored-procedures-sp-polybase-join-group.md).
3535

36-
4. Monitor nodes in the group using [sys.dm_exec_compute_nodes (Transact-SQL)](../../relational-databases/system-dynamic-management-views/sys-dm-exec-compute-nodes-transact-sql.md).
36+
1. Monitor nodes in the group using [sys.dm_exec_compute_nodes (Transact-SQL)](../../relational-databases/system-dynamic-management-views/sys-dm-exec-compute-nodes-transact-sql.md).
3737

38-
5. Optional. Remove a compute node from using [sp_polybase_leave_group (Transact-SQL)](../../relational-databases/system-stored-procedures/polybase-stored-procedures-sp-polybase-leave-group.md).
38+
1. Optional. Remove a compute node from using [sp_polybase_leave_group (Transact-SQL)](../../relational-databases/system-stored-procedures/polybase-stored-procedures-sp-polybase-leave-group.md).
3939

4040
## Example walk-through
4141

@@ -47,66 +47,68 @@ This walks through the steps of configuring a PolyBase Group using:
4747

4848
- PQTH4A-CMP02
4949

50-
2. Domain account: *PQTH4A\PolyBaseUse*r
50+
1. Domain account: *PQTH4A\PolyBaseUser*
5151

5252
## Install SQL Server with PolyBase on all machines
5353

5454
1. Run setup.exe.
5555

56-
2. On the Feature Selection page, select **PolyBase Query Service for External Data**.
56+
1. On the Feature Selection page, select **PolyBase Query Service for External Data**.
5757

58-
3. On the Server Configuration page, use the **domain account** PQTH4A\PolyBaseUser for SQL Server PolyBase Engine and SQL Server PolyBase Data Movement Service.
58+
1. On the Server Configuration page, use the **domain account** PQTH4A\PolyBaseUser for SQL Server PolyBase Engine and SQL Server PolyBase Data Movement Service.
5959

60-
4. On the PolyBase Configuration page, select the option **Use the SQL Server instance as part of a PolyBase scale-out group**. This opens the firewall to allow incoming connections to the PolyBase services. SQL Server installation wizard automatically exposes the following TCP ports in the Windows Server Firewall: 1433,16450-16453, and 17001. If the head node is a SQL Server named instance, you must also manually add the SQL Server port to the Windows firewall on the head node and also start the SQL Browser on the head node. Ports should be allowed only on the firewalls of servers in the PolyBase scale-out group.
60+
1. On the PolyBase Configuration page, select the option **Use the SQL Server instance as part of a PolyBase scale-out group**. This opens the firewall to allow incoming connections to the PolyBase services. SQL Server installation wizard automatically exposes the following TCP ports in the Windows Server Firewall: 1433,16450-16453, and 17001. If the head node is a SQL Server named instance, you must also manually add the SQL Server port to the Windows Firewall on the head node and also start the SQL Browser on the head node. Ports should be allowed only on the firewalls of servers in the PolyBase scale-out group.
6161

62-
5. After setup is complete, run **services.msc**. Verify that SQL Server, PolyBase Engine and PolyBase Data Movement Service are running.
62+
1. After setup is complete, run **services.msc**. Verify that SQL Server, PolyBase Engine and PolyBase Data Movement Service are running.
6363

64-
![PolyBase services](../../relational-databases/polybase/media/polybase-services.png "PolyBase services")
64+
:::image type="content" source="media/configure-scale-out-groups-windows/polybase-services.png" alt-text="A screenshot from SQL Server Configuration Manager, showing the PolyBase services.":::
6565

66-
## Select one SQL Server as head node
66+
## Select one SQL Server as head node
6767

68-
After setup is complete, both machines can function as PolyBase Group head nodes. In this example, we will choose "MSSQLSERVER" on PQTH4A-CMP01 as the head node.
68+
After setup is complete, both machines can function as PolyBase Group head nodes. In this example, we choose the "MSSQLSERVER" instance on PQTH4A-CMP01 as the head node.
6969

70-
## Add other SQL Server instances as compute nodes
70+
## Add other SQL Server instances as compute nodes
7171

7272
1. Connect to SQL Server on PQTH4A-CMP02.
7373

74-
2. Run the stored procedure [sp_polybase_join_group](../../relational-databases/system-stored-procedures/polybase-stored-procedures-sp-polybase-join-group.md).
74+
1. Run the stored procedure [sp_polybase_join_group](../../relational-databases/system-stored-procedures/polybase-stored-procedures-sp-polybase-join-group.md).
7575

7676
```sql
7777
-- Enter head node details:
7878
-- head node machine name, head node dms control channel port, head node sql server name
7979
EXEC sp_polybase_join_group 'PQTH4A-CMP01', 16450, 'MSSQLSERVER';
8080
```
8181

82-
3. Run services.msc on the compute node (PQTH4A-CMP02).
82+
1. Run services.msc on the compute node (PQTH4A-CMP02).
8383

84-
4. Shutdown the PolyBase engine and restart the PolyBase data movement service.
84+
1. Shut down the PolyBase engine and restart the PolyBase data movement service.
8585

8686
> [!NOTE]
8787
> When the PolyBase Engine service gets restarted or stopped in the head node, the Data Movement Service (DMS) services gets stopped as soon as the communication channel is closed between DMS and PolyBase Engine Service (DW). If the DW engine gets restarted more than two times, the DMS goes to a quiet period for 90 minutes and it must wait 90 minutes for the next auto start attempt. In such situation, you should start this service manually on all nodes.
8888
89-
## Optional: Remove a compute node
89+
## Optional: Remove a compute node
9090

9191
1. Connect to the compute node SQL Server (PQTH4A-CMP02).
9292

93-
2. Run the stored procedure sp_polybase_leave_group.
93+
1. Run the stored procedure `sp_polybase_leave_group`.
9494

9595
```sql
9696
EXEC sp_polybase_leave_group;
9797
```
9898

99-
3. Run services.msc on the compute node that is being removed (PQTH4A-CMP02).
99+
1. Run services.msc on the compute node that is being removed (PQTH4A-CMP02).
100100

101-
4. Start PolyBase Engine. Restart PolyBase data movement service.
101+
1. Start PolyBase Engine. Restart PolyBase data movement service.
102102

103-
5. Verify that the node has been removed by running the DMV sys.dm_exec_compute_nodes on PQTH4A-CMP01. Now, PQTH4A-CMP02 will function as a standalone head node
103+
1. Verify that the node has been removed by running the DMV `sys.dm_exec_compute_nodes` on PQTH4A-CMP01. Now, PQTH4A-CMP02 will function as a standalone head node
104104

105-
## Known limitations
106-
If you have a default SQL Server instance that is configured to listen on TCP port other than 1433, you cannot use it as a head node in a PolyBase scale-out group. When executing `sp_polybase_join_group`, if you pass 'MSSQLSERVER' as the instance name, SQL Server will assume port 1433 is the listener port, so the Data Movement service will be unable to connect to the head node when starting.
105+
## Limitations
107106

108-
## Next steps
107+
- If you have a default SQL Server instance that is configured to listen on TCP port other than 1433, you cannot use it as a head node in a PolyBase scale-out group. When executing `sp_polybase_join_group`, if you pass 'MSSQLSERVER' as the instance name, SQL Server assumes port 1433 is the listener port, so the Data Movement service is unable to connect to the head node when starting.
109108

110-
For troubleshooting, see [PolyBase troubleshooting with dynamic management views](/previous-versions/sql/sql-server-2016/mt146389(v=sql.130)).
111-
112-
For more information about PolyBase, see the [PolyBase overview](../../relational-databases/polybase/polybase-guide.md).
109+
- PolyBase scale-out groups are not supported with Always On availability groups.
110+
111+
## Related content
112+
113+
- [PolyBase troubleshooting with dynamic management views](/previous-versions/sql/sql-server-2016/mt146389(v=sql.130))
114+
- [Introducing data virtualization with PolyBase](polybase-guide.md)

docs/relational-databases/polybase/media/polybase-services.png renamed to docs/relational-databases/polybase/media/configure-scale-out-groups-windows/polybase-services.png

File renamed without changes.

docs/relational-databases/polybase/polybase-versioned-feature-summary.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ description: "PolyBase features available for SQL Server products and services,
44
author: WilliamDAssafMSFT
55
ms.author: wiassaf
66
ms.reviewer: randolphwest
7-
ms.date: 01/03/2024
7+
ms.date: 01/09/2024
88
ms.service: sql
99
ms.subservice: polybase
1010
ms.topic: conceptual
11-
monikerRange: ">=aps-pdw-2016 || =azuresqldb-current || =azure-sqldw-latest || >=sql-server-2016 || >=sql-server-linux-2017 || =azuresqldb-mi-current"
11+
monikerRange: ">=aps-pdw-2016||=azuresqldb-current||=azure-sqldw-latest||>=sql-server-2016||>=sql-server-linux-2017||=azuresqldb-mi-current"
1212
---
1313
# PolyBase features and limitations
1414

@@ -61,6 +61,8 @@ PolyBase has the following limitations:
6161

6262
- Hadoop is no longer supported in [!INCLUDE [sssql22-md](../../includes/sssql22-md.md)] and later versions.
6363

64+
- PolyBase scale-out groups are not supported with Always On availability groups.
65+
6466
<!--SQL Server 2016-->
6567
::: moniker range="= sql-server-2016 "
6668

0 commit comments

Comments
 (0)