Konfigurieren von PolyBase-Erweiterungsgruppen unter Windows
Gilt für: SQL Server – nur Windows Azure SQL Managed Instance
In diesem Artikel wird beschrieben, wie Sie eine PolyBase-Erweiterungsgruppe unter Windows einrichten. Mit diesem Verfahren wird ein Cluster aus SQL Server-Instanzen erstellt, der durch horizontale Skalierung für bessere Abfrageleistungen bei großen Datasets aus externen Datenquellen sorgt, wie beispielsweise Hadoop oder Azure Blob Storage.
Wichtig
Die Microsoft SQL Server PolyBase-Erweiterungsgruppen werden eingestellt. Die Erweiterungsgruppen-Funktionalität wird in SQL Server 2022 (16.x) aus dem Produkt entfernt. PolyBase-Datenvirtualisierung wird in SQL Server weiterhin als Aufskalierungsgruppen-Feature vollständig unterstützt. Weitere Informationen finden Sie unter Big Data-Optionen auf der Microsoft SQL Server-Plattform.
Voraussetzungen
Mehr als ein Computer in der gleichen Domäne.
Ein Domänenbenutzerkonto zum Ausführen von PolyBase-Diensten. Die Verwendung eines gruppenverwalteten Dienstkontos (gMSA) wird empfohlen. Weitere Informationen finden Sie unter Gruppenverwaltete Dienstkonten: Übersicht.
Übersicht über den Prozess
Die folgenden Schritte fassen den Prozess der Erstellung einer PolyBase-Erweiterungsgruppe zusammen. Im nächsten Abschnitt finden Sie eine ausführliche exemplarische Vorgehensweise für jeden Schritt.
Installieren Sie die gleiche Version von SQL Server mit PolyBase auf N Computern.
Wählen Sie eine SQL Server-Instanz als Hauptknoten aus.
Fügen Sie mithilfe von sp_polybase_join_groupdie verbleibenden SQL Server-Instanzen als Serverknoten hinzu.
Überwachen Sie Knoten in der Gruppe mit sys.dm_exec_compute_nodes (Transact-SQL).
Optional. Entfernen Sie einen Serverknoten mit sp_polybase_leave_group (Transact-SQL).
Exemplarische Vorgehensweise
Hier erfahren Sie, wie Sie eine PolyBase-Gruppe mit den folgenden Informationen einrichten:
Zwei Computer in der Domäne PQTH4A Die Namen der Computer sind:
PQTH4A-CMP01
PQTH4A-CMP02
Domänenkonto: PQTH4A\PolyBaseUser
Installieren von SQL Server mit PolyBase auf allen Computern
Führen Sie „setup.exe“ aus.
Wählen Sie auf der Seite „Funktionsauswahl“ PolyBase Query Service for External Data (PolyBase-Abfragedienst für externe Daten).
Verwenden Sie das Domänenkonto „PQTH4A\PolyBaseUser“ für die SQL Server-PolyBase-Engine und den SQL Server PolyBase-Datenverschiebungsdienst auf der Konfigurationsseite des Servers.
Wählen Sie auf der PolyBase-Konfigurationsseite die Option Use the SQL Server instance as part of a PolyBase scale-out group(SQL Server-Instanz als Teil einer PolyBase-Erweiterungsgruppe verwenden). Hierdurch wird die Firewall geöffnet, um eingehende Verbindungen für die PolyBase-Dienste zuzulassen. Vom SQL Server-Installations-Assistenten werden die folgenden TCP-Ports automatisch in der Windows Server-Firewall verfügbar gemacht: 1433, 16450 bis 16453 und 17001. Wenn der Hauptknoten eine benannte SQL Server-Instanz ist, müssen Sie zusätzlich den SQL Server-Port manuell der Windows-Firewall auf dem Hauptknoten hinzufügen und den SQL-Browser auf dem Hauptknoten starten. Ports sollten nur in den Firewalls der Server zugelassen sein, die Teil der PolyBase-Erweiterungsgruppe sind.
Nachdem das Setup abgeschlossen ist, führen Sie services.mscaus. Überprüfen Sie, ob SQL Server, die PolyBase-Engine und der PolyBase-Datenverschiebungsdienst ausgeführt werden.
Auswählen einer SQL Server-Instanz als Hauptknoten
Nachdem das Setup abgeschlossen ist, können beide Computer als PolyBase-Gruppenhauptknoten fungieren. In diesem Beispiel wählen wir die MSSQLSERVER-Instanz auf PQTH4A-CMP01 als den Hauptknoten.
Hinzufügen weiterer SQL Server-Instanzen als Computeknoten
Stellen Sie die Verbindung mit SQL Server auf PQTH4A-CMP02 her.
Führen Sie die gespeicherte Prozedur sp_polybase_leave_groupaus.
-- 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';
Führen Sie „services.msc“ auf den Computeknoten (PQTH4A CMP02) aus.
Fahren Sie die PolyBase-Engine herunter, und starten Sie den PolyBase-Datenverschiebedienst neu.
Hinweis
Wird der PolyBase-Engine-Dienst auf dem Hauptknoten neu gestartet oder beendet, werden die DMS-Dienste (Data Movement Service) beendet, sobald der Kommunikationskanal zwischen DMS und PolyBase-Engine-Dienst (DW) geschlossen wird. Wird die DW-Engine mehr als zweimal neu gestartet, wechselt der DMS-Dienst für 90 Minuten in einen Ruhezustand. Während dieses Zeitraums kann kein erneuter automatischer Startversuch durchgeführt werden. Starten Sie in diesem Fall den Dienst auf allen Knoten manuell.
Optional: Entfernen eines Computeknotens
Stellen Sie eine Verbindung mit dem Computeknoten SQL Server (PQTH4A-CMP02) her.
Führen Sie die gespeicherte Prozedur
sp_polybase_leave_group
aus.EXEC sp_polybase_leave_group;
Führen Sie „services.msc“ auf dem Computeknoten (PQTH4A CMP02) aus, der entfernt wird.
Starten Sie die PolyBase-Engine. Starten Sie den SQL Server PolyBase-Datenverschiebungsdienst neu.
Überprüfen Sie, ob der Knoten entfernt wurde, indem Sie die DMV
sys.dm_exec_compute_nodes
auf PQTH4A CMP01 ausführen. Jetzt fungiert PQTH4A-CMP02 als eigenständiger Hauptknoten.
Begrenzungen
Wenn Sie eine standardmäßige SQL Server-Instanz haben, die so konfiguriert ist, dass sie an einem anderen TCP-Port als 1433 lauscht, können Sie sie in einer PolyBase-Erweiterungsgruppe nicht als Hauptknoten verwenden. Wenn Sie bei der Ausführung von
sp_polybase_join_group
als Instanznamen MSSQLSERVER übergeben, geht SQL Server davon aus, dass Port 1433 der Listenerport ist, sodass sich der Datenverschiebungsdienst beim Start nicht mit dem Hauptknoten verbinden kann.PolyBase-Erweiterungsgruppen werden mit Always On-Verfügbarkeitsgruppen nicht unterstützt.