Freigeben über


Konfigurieren von PolyBase-Scale-out-Gruppen unter Windows

Gilt für:SQL Server unter Windows Azure SQL Managed Instanz

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 Scale-Out-Gruppen wurden eingestellt. Die Skalierungsgruppenfunktionalität wurde aus dem Produkt in SQL Server 2022 (16.x) und höheren Versionen entfernt. PolyBase-Datenvirtualisierung wird in SQL Server weiterhin als Vergrößerungsfeature 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 Scale-Out-Gruppe zusammen. Im nächsten Abschnitt wird eine ausführlichere Darstellung jedes Schritts geboten.

  1. Installieren Sie die gleiche Version von SQL Server mit PolyBase auf N Computern.

  2. Wählen Sie eine SQL Server-Instanz als Hauptknoten aus.

  3. Fügen Sie mithilfe von sp_polybase_join_groupdie verbleibenden SQL Server-Instanzen als Serverknoten hinzu.

  4. Überwachen Sie Knoten in der Gruppe mit sys.dm_exec_compute_nodes (Transact-SQL).

  5. Wahlfrei. Entfernen Sie einen Rechenknoten aus einer Nutzung mit sp_polybase_leave_group (Transact-SQL).

Schritt-für-Schritt-Anleitung

Eine Schritt-für-Schritt-Anleitung zur Konfiguration einer PolyBase-Gruppe mithilfe der folgenden Informationen:

  1. Zwei Computer in der Domäne PQTH4A Die Namen der Computer sind:

    • PQTH4A-CMP01

    • PQTH4A-CMP02

  2. Domänenkonto: PQTH4A\PolyBaseUser

Installieren von SQL Server mit PolyBase auf allen Computern

  1. Führen Sie „setup.exe“ aus.

  2. Wählen Sie auf der Seite „Funktionsauswahl“ PolyBase Query Service for External Data (PolyBase-Abfragedienst für externe Daten).

  3. 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.

  4. 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.

  5. 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.

    Screenshot von SQL Server-Konfigurations-Manager mit den PolyBase-Diensten.

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

  1. Stellen Sie die Verbindung mit SQL Server auf PQTH4A-CMP02 her.

  2. Führen Sie die gespeicherte Prozedur sp_polybase_join_group aus.

    -- 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';
    
  3. Führen Sie „services.msc“ auf dem Computer-Knoten (PQTH4A-CMP02) aus.

  4. Schalten Sie die PolyBase-Engine aus und starten Sie den PolyBase-Datenbewegungsdienst 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 für 90 Minuten in eine Ruhephase und muss 90 Minuten auf den nächsten automatischen Startversuch warten. Starten Sie in diesem Fall den Dienst auf allen Knoten manuell.

Optional: Entfernen eines Computeknotens

  1. Stellen Sie eine Verbindung mit dem Computeknoten SQL Server (PQTH4A-CMP02) her.

  2. Führen Sie die gespeicherte Prozedur sp_polybase_leave_group aus.

    EXEC sp_polybase_leave_group;  
    
  3. Führen Sie „services.msc“ auf dem Rechenknoten (PQTH4A-CMP02) aus, der entfernt wird.

  4. Starten Sie die PolyBase-Engine. Starten Sie den SQL Server PolyBase-Datenverschiebungsdienst neu.

  5. Ü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-Skalierungsgruppen werden mit Always On-Verfügbarkeitsgruppen nicht unterstützt.