Einbinden von ADLS Gen2 für HDFS-Tiering in einen Big Data-Cluster

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

Wichtig

Das Microsoft SQL Server 2019-Big Data-Cluster-Add-On wird eingestellt. Der Support für SQL Server 2019-Big Data-Clusters endet am 28. Februar 2025. Alle vorhandenen Benutzer*innen von SQL Server 2019 mit Software Assurance werden auf der Plattform vollständig unterstützt, und die Software wird bis zu diesem Zeitpunkt weiterhin über kumulative SQL Server-Updates verwaltet. Weitere Informationen finden Sie im Ankündigungsblogbeitrag und unter Big Data-Optionen auf der Microsoft SQL Server-Plattform.

Voraussetzungen

Laden von Daten in Azure Data Lake Storage Gen2

Im folgenden Abschnitt wird beschrieben, wie Sie Azure Data Lake Storage Gen2 zum Testen des HDFS-Tierings 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 eines Azure Data Lake Storage Gen2-Speicherkontos.

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

  3. Laden Sie eine CSV- oder Parquet-Datei in den Container hoch. Dies sind die externen HDFS-Daten, die im Big Data-Cluster in HDFS eingebunden werden.

Anmeldeinformationen für die Einbindung

Verwenden von OAuth-Anmeldeinformationen zum Einbinden

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

  1. Navigieren Sie zum Azure-Portal.

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

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

  4. Erstellen Sie eine Webanwendung und befolgen Sie die Anweisungen des Assistenten. Merken Sie sich den Namen der Anwendung, die Sie in diesem Schritt erstellen. Sie müssen diesen Namen Ihrem ADLS-Konto als autorisierter Benutzer hinzufügen. Notieren Sie sich auch die Anwendungsclient-ID, die in der Übersicht angezeigt wird, wenn Sie die App auswählen.

  5. Gehen Sie nach Erstellung der Webanwendung zu Zertifikate und geheime Schlüssel und wählen Sie die Erstellung eines neuen geheimen Clientschlüssels aus. Wählen Sie eine Schlüsseldauer aus. Speichern Sie das Geheimnis mit Hinzufügen.

  6. Navigieren Sie zurück zur Seite App-Registrierungen, und klicken Sie oben auf „Endpunkte“. Notieren Sie sich die URL des „OAuth-Tokenendpunkts (v2)“ .

  7. Für OAuth sollten Sie nun folgende Punkte notiert haben:

    • Die „Anwendungsclient-ID“ der Webanwendung
    • Den geheimen Clientschlüssel
    • Den Tokenendpunkt

Hinzufügen des Dienstprinzipals zu Ihrem ADLS-Konto

  1. Rufen Sie erneut das Portal auf, navigieren Sie zum Dateisystem Ihres ADLS-Speicherkontos, und klicken Sie im linken Menü auf „Zugriffssteuerung (IAM)“.
  2. Klicken Sie auf „Rollenzuweisung hinzufügen“.
  3. Wählen Sie die Rolle „Mitwirkender an Storage-Blobdaten“ aus.
  4. Suchen Sie nach dem Namen, den Sie oben erstellt haben (beachten Sie, dass er nicht in der Liste angezeigt wird, aber Sie finden ihn, wenn Sie nach dem vollständigen Namen suchen).
  5. Speichern Sie die Rolle.

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

Festlegen der Umgebungsvariablen für OAuth-Anmeldeinformationen

Öffnen Sie eine Eingabeaufforderung auf einem Clientcomputer, der auf Ihren Big Data-Cluster zugreifen kann. Legen Sie eine Umgebungsvariable gemäß dem folgenden Format fest. Die Anmeldeinformationen müssen sich in einer durch Kommas getrennten Liste befinden. Der „Set“-Befehl wird unter Windows verwendet. Wenn Sie Linux verwenden, verwenden Sie stattdessen „export“.

Hinweis: Sie müssen alle Zeilenumbrüche oder Leerzeichen zwischen den Kommas („,“) entfernen, wenn Sie die Anmeldeinformationen eingeben. Die folgende Formatierung dient lediglich der Lesbarkeit.

   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 von Zugriffsschlüsseln zum Einbinden

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

Tipp

Weitere Informationen zum Suchen des Zugriffsschlüssels (<storage-account-access-key>) für Ihr Speicherkonto finden Sie unter Anzeigen von Kontoschlüsseln und Verbindungszeichenfolgen.

Festlegen der Umgebungsvariablen für Zugriffsschlüssel-Anmeldeinformationen

  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 im folgenden Format fest. Die Anmeldeinformationen müssen sich in einer durch Kommas getrennten Liste befinden müssen. Der „Set“-Befehl wird unter Windows verwendet. Wenn Sie Linux verwenden, verwenden Sie stattdessen „export“.

Hinweis: Sie müssen alle Zeilenumbrüche oder Leerzeichen zwischen den Kommas („,“) entfernen, wenn Sie die Anmeldeinformationen eingeben. Die folgende Formatierung dient lediglich der Lesbarkeit.

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>

Einbinden des HDFS-Remotespeichers

Nachdem Sie die MOUNT_CREDENTIALS-Umgebungsvariable für Zugriffsschlüssel oder die Verwendung von OAuth festgelegt haben, können Sie mit der Einbindung beginnen. In den folgenden Schritten wird der HDFS-Remotespeicher in Azure Data Lake in den lokalen HDFS-Speicher Ihres Big Data-Clusters eingebunden.

  1. Suchen Sie mit kubectl die IP-Adresse für den Endpunkt controller-svc-external-Dienst in Ihrem Big Data-Cluster. Suchen Sie nach der externen IP-Adresse.

    kubectl get svc controller-svc-external -n <your-big-data-cluster-name>
    
  2. Melden Sie sich mit azdata über die externe IP-Adresse des Controllerendpunkts mit Ihrem Benutzernamen und -kennwort für den Cluster an:

    azdata login -e https://<IP-of-controller-svc-external>:30080
    
  3. Legen Sie die Umgebungsvariable MOUNT_CREDENTIALS fest (scrollen Sie für die Anweisungen nach oben).

  4. Binden Sie den HDFS-Remotespeicher mit dem Befehl azdata bdc hdfs mount create in Azure ein. 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>
    

    Hinweis

    Der „mount create“-Befehl ist asynchron. Zurzeit gibt keine Meldung an, ob die Einbindung erfolgreich war. Weitere Informationen zum Überprüfen des Status Ihrer Einbindungen finden Sie im Statusabschnitt.

Wenn die Einbindung erfolgreich war, sollten Sie in der Lage sein, die HDFS-Daten abzufragen und Spark-Aufträge dafür auszuführen. Sie wird im HDFS für Ihren Big Data-Cluster an dem Speicherort angezeigt, der durch --mount-path angegeben wird.

Abrufen des Status von Einbindungen

Verwenden Sie den folgenden Befehl, um die Status aller Einbindungen in Ihrem Big Data-Cluster aufzulisten:

azdata bdc hdfs mount status

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

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

Aktualisieren einer Einbindung

Im folgenden Beispiel wird die Einbindung aktualisiert. Durch diese Aktualisierung wird auch der Einbindungscache bereinigt.

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

Löschen der Einbindung

Verwenden Sie zum Löschen den Einbindung den Befehl azdata bdc hdfs mount delete, und geben Sie den Einbindungspfad in HDFS an:

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

Nächste Schritte

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