Failed to restart Polybase Data Movement service after running sp_polybase_join_group
If you have a SQL Server 2019 named instance with Polybase feature, you may fail to restart the PolyBase Data movement service after running the sp_polybase_join_group.
2.Stopp Polybase Engine Service.
3.However, you may fail to restart the Polybase Data Movement service.
1. Start sqlbroswer on POLYBASET1 if it’s not running.
2. Please check if port of SQL Server instance on Head Node is exposed on firewall. If not, create the rule.
Here is how it happens
1. SQL Server installation wizard automatically exposes port 1433,16450,16451,16452,16453 and 17001 in Windows firewall if ‘Use this SQL Server as part of PolyBase scale-out group’ is checked during installation.
This is a kind defect here: the 1433 is used even it’s named instance. Here is a screenshot of Windows firewall rule created by Installation Wizard for named instance (instance name:N1)
2. The SQL Server port, 16450 and 16451 are used when the ‘Polybase data movement service’ on compute nodes connects to the Head node.
3. If any of the port is not reachable, the ‘Polybase data movement service’ on compute nodes fail to start.
4. The first port the service attempts to connect is the SQL Server instance port of Head node.
5. If this port is failed to connect, polybase data movement does not even create logs in polybase log folder.
You need to manually expose the port in Windows firewall.
The port can be found in SQL Server configuration manager->SQL Server Network Configuration->Protocols for xxx->TCP/IP->TCP Dynamic Ports