Freigeben über


Bereitstellen von ADLS Gen2 für HDFS-Tiering in einem Big Data-Cluster

Die folgenden Abschnitte zeigen ein Beispiel für die Konfiguration von HDFS-Tiering mit einer Azure Data Lake Storage Gen2-Datenquelle.

Important

Die Big Data Cluster von Microsoft SQL Server 2019 werden eingestellt. Der Support für SQL Server 2019 Big Data Cluster endete am 28. Februar 2025. Weitere Informationen finden Sie im Ankündigungsblogbeitrag und den Big Data-Optionen auf der Microsoft SQL Server-Plattform.

Prerequisites

Laden von Daten in Azure Data Lake Storage

Im folgenden Abschnitt wird beschrieben, wie Sie Azure Data Lake Storage Gen2 zum Testen der HDFS-Tiering einrichten. Wenn Sie bereits Daten in Azure Data Lake Storage gespeichert haben, können Sie diesen Abschnitt überspringen, um Ihre eigenen Daten zu verwenden.

  1. Erstellen Sie ein Speicherkonto mit Data Lake Storage Gen2-Funktionen.

  2. Erstellen Sie ein Dateisystem in diesem Speicherkonto für Ihre Daten.

  3. Laden Sie eine CSV- oder Parkettdatei in den Container hoch. Dies sind die externen HDFS-Daten, die in HDFS im Big Data-Cluster eingehängt werden.

Anmeldeinformationen für die Montage

Verwenden von OAuth-Anmeldeinformationen zum Einbinden

Um OAuth-Anmeldeinformationen zum Einbinden zu verwenden, müssen Sie die folgenden Schritte ausführen:

  1. Navigieren Sie zum Azure-Portal.

  2. Navigieren Sie zu Microsoft Entra ID. Dieser Dienst sollte auf der linken Navigationsleiste angezeigt werden.

  3. Wählen Sie im Ressourcenmenü App-Registrierungen aus, und erstellen Sie eine neue Registrierung.

  4. Erstellen Sie eine Webanwendung , und folgen Sie dem Assistenten. Denken Sie an den Namen der App, die Sie in diesem Schritt erstellen. Sie müssen diesen Namen ihrem ADLS-Konto als autorisierten Benutzer hinzufügen. Beachten Sie auch die Anwendungsclient-ID in der Übersicht, wenn Sie die App auswählen.

  5. Nachdem die Webanwendung erstellt wurde, wechseln Sie zu "Zertifikate&geheimnisse ", und wählen Sie aus, einen neuen geheimen Clientschlüssel zu erstellen. Wählen Sie eine Schlüsseldauer aus. Verwenden Sie "Hinzufügen" , um den geheimen Schlüssel zu speichern.

  6. Wechseln Sie zurück zur Seite "App-Registrierungen", und klicken Sie oben auf die "Endpunkte". Notiere die URL des "OAuth-Token-Endpunkts (v2)

  7. Sie sollten jetzt die folgenden Punkte für OAuth notiert haben:

    • Die "Anwendungsclient-ID" der Webanwendung
    • Den geheimen Clientschlüssel
    • Der Tokenendpunkt

Hinzufügen des Dienstprinzipal zu Ihrem ADLS-Konto

  1. Wechseln Sie erneut zum Portal, und navigieren Sie zum DATEISYSTEM Ihres ADLS-Speicherkontos, und wählen Sie im linken Menü die Zugriffssteuerung (IAM) aus.
  2. Wählen Sie "Rollenzuweisung hinzufügen" aus.
  3. "Wählen Sie die Rolle „Storage Blob Data Contributor“ aus."
  4. Suchen Sie nach dem oben erstellten Namen (beachten Sie, dass er nicht in der Liste angezeigt wird, wird aber gefunden, wenn Sie nach dem vollständigen Namen suchen).
  5. Speichert die Rolle.

Warten Sie 5 bis 10 Minuten, bevor Sie die Anmeldeinformationen für die Einbindung verwenden.

Festlegen der Umgebungsvariable für OAuth-Anmeldeinformationen

Öffnen Sie eine Eingabeaufforderung auf einem Clientcomputer, der auf Ihren Big Data-Cluster zugreifen kann. Legen Sie eine Umgebungsvariable mit dem folgenden Format fest. Die Anmeldeinformationen müssen sich in einer durch Trennzeichen getrennten Liste befinden. Der Befehl "set" wird unter Windows verwendet. Wenn Sie Linux verwenden, verwenden Sie stattdessen "Export".

Beachten Sie , dass Sie beim Angeben der Anmeldeinformationen alle Zeilenumbrüche oder Leerzeichen zwischen den Kommas "" entfernen müssen. Die folgende Formatierung ist nur, um das Lesen zu erleichtern.

   set MOUNT_CREDENTIALS=fs.azure.account.auth.type=OAuth,
   fs.azure.account.oauth.provider.type=org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider,
   fs.azure.account.oauth2.client.endpoint=[token endpoint],
   fs.azure.account.oauth2.client.id=[Application client ID],
   fs.azure.account.oauth2.client.secret=[client secret]

Verwenden Sie Zugriffstasten, um einzubinden

Sie können auch mithilfe von Zugriffsschlüsseln einbinden, die Sie für Ihr ADLS-Konto im Azure-Portal abrufen können.

Tip

Weitere Informationen dazu, wie Sie den Zugriffsschlüssel (<storage-account-access-key>) für Ihr Speicherkonto finden, finden Sie unter Anzeigen von Kontoschlüsseln und Verbindungszeichenfolge.

Umgebungsvariable für Zugriffsschlüssel-Anmeldeinformationen festlegen

  1. Öffnen Sie eine Eingabeaufforderung auf einem Clientcomputer, der auf Ihren Big Data-Cluster zugreifen kann.

  2. Öffnen Sie eine Eingabeaufforderung auf einem Clientcomputer, der auf Ihren Big Data-Cluster zugreifen kann. Legen Sie eine Umgebungsvariable mit dem folgenden Format fest. Die Anmeldeinformationen müssen sich in einer durch Trennzeichen getrennten Liste befinden. Der Befehl "set" wird unter Windows verwendet. Wenn Sie Linux verwenden, verwenden Sie stattdessen "Export".

Beachten Sie , dass Sie beim Angeben der Anmeldeinformationen alle Zeilenumbrüche oder Leerzeichen zwischen den Kommas "" entfernen müssen. Die folgende Formatierung ist nur, um das Lesen zu erleichtern.

set MOUNT_CREDENTIALS=fs.azure.abfs.account.name=<your-storage-account-name>.dfs.core.windows.net,
fs.azure.account.key.<your-storage-account-name>.dfs.core.windows.net=<storage-account-access-key>

Bereitstellen des Remote-HDFS-Speichers

Nachdem Sie nun die MOUNT_CREDENTIALS-Umgebungsvariable für Zugriffsschlüssel oder OAuth festgelegt haben, können Sie mit der Einbindung beginnen. Die folgenden Schritte binden den Remote-HDFS-Speicher in Azure Data Lake in den lokalen HDFS-Speicher Ihres Big Data Clusters ein.

  1. Verwenden Sie Kubectl , um die IP-Adresse für den externen Endpunktcontroller-svc-externen Dienst in Ihrem Big Data-Cluster zu finden. Suchen Sie nach der externen IP.

    kubectl get svc controller-svc-external -n <your-big-data-cluster-name>
    
  2. Melden Sie sich mit azdata mit der externen IP-Adresse des Controllerendpunkts mit Ihrem Clusterbenutzernamen und Kennwort an:

    azdata login -e https://<IP-of-controller-svc-external>:30080
    
  3. Festlegen von Umgebungsvariablen MOUNT_CREDENTIALS (Scrollen nach oben für Anweisungen)

  4. Montieren Sie den Remote-HDFS-Speicher in Azure mit azdata bdc hdfs mount create. Ersetzen Sie die Platzhalterwerte, bevor Sie den folgenden Befehl ausführen:

    azdata bdc hdfs mount create --remote-uri abfs://<blob-container-name>@<storage-account-name>.dfs.core.windows.net/ --mount-path /mounts/<mount-name>
    

    Note

    Der Mount-Befehl zur Erstellung ist asynchron. Zurzeit gibt es keine Meldung, die angibt, ob die Einbindung erfolgreich war. Sehen Sie sich den Statusabschnitt an, um den Status Ihrer Montierungen zu überprüfen.

Wenn die Bereitstellung erfolgreich durchgeführt wurde, sollten Sie in der Lage sein, die HDFS-Daten abzufragen und Spark-Aufträge auszuführen. Sie wird in der HDFS für Ihren Big Data-Cluster an der angegebenen --mount-pathPosition angezeigt.

Abrufen des Status von Einbindungen

Verwenden Sie den folgenden Befehl, um den Status aller Bereitstellungen in Ihrem Big Data-Cluster auflisten zu können:

azdata bdc hdfs mount status

Verwenden Sie den folgenden Befehl, um den Status einer Einbindung an einem bestimmten Pfad in HDFS aufzulisten:

azdata bdc hdfs mount status --mount-path <mount-path-in-hdfs>

Aktualisieren eines Einhängepunkts

Im folgenden Beispiel wird die Einbindung aktualisiert. Durch diesen Aktualisierungsvorgang wird auch der Mount-Cache gelöscht.

azdata bdc hdfs mount refresh --mount-path <mount-path-in-hdfs>

Einhängepunkt löschen

Verwenden Sie zum Löschen des Mounts den Befehl "azdata bdc hdfs mount delete", und geben Sie den Mountpfad in HDFS an.

azdata bdc hdfs mount delete --mount-path <mount-path-in-hdfs>

Next steps

Weitere Informationen zu SQL Server 2019: Big Data-Cluster finden Sie unter Einführung in SQL Server 2019: Big Data-Cluster.