Freigeben über


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.

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

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

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

  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 Computeknoten (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-Erweiterungsgruppen werden mit Always On-Verfügbarkeitsgruppen nicht unterstützt.