Leitfäden und Muster für die Azure Data Lake Storage-Migration

Sie können Ihre Daten, Workloads und Anwendungen von Azure Data Lake Storage Gen1 zu Azure Data Lake Storage Gen2 migrieren. In diesem Artikel wird der empfohlene Migrationsansatz erläutert. Außerdem werden die verschiedenen Migrationsmuster und ihre Anwendungsfälle behandelt. Zur besseren Lesbarkeit wird in diesem Artikel mit dem Begriff Gen1 auf Azure Data Lake Storage Gen1 verwiesen und mit dem Begriff Gen2 auf Azure Data Lake Storage Gen2.

Hinweis

Azure Data Lake Storage Gen1 wurde außer Betrieb genommen. Weitere Informationen finden Sie in der Ankündigung zur Außerbetriebnahme hier. Auf Data Lake Storage Gen1-Ressourcen kann nicht mehr zugegriffen werden. Wenn Sie besondere Unterstützung benötigen, kontaktieren Sie uns bitte.

Azure Data Lake Storage Gen2 setzt auf Azure Blob Storage auf und bietet eine Reihe von Funktionen für Big Data-Analysen. Data Lake Storage Gen2 verbindet Features von Azure Data Lake Storage Gen1 wie Dateisystemsemantik, Sicherheit auf Verzeichnis- und Dateiebene und Skalierbarkeit mit den kostengünstigen, mehrstufigen Speicherlösungen sowie Hochverfügbarkeits- und Notfallwiederherstellungsfunktionen von Azure Blob Storage.

Hinweis

Da Gen1 und Gen2 verschiedene Dienste sind, gibt es keine direkte Upgrademethode. Informationen zur Vereinfachung der Migration zu Gen2 über das Azure-Portal finden Sie unter Migrieren von Azure Data Lake Storage von Gen1 zu Gen2 über das Azure-Portal.

Für die Migration von Gen1 zu Gen2 wird der folgende Ansatz empfohlen.

Schritt 1: Bewerten der Bereitschaft

Schritt 2: Vorbereiten der Migration

Schritt 3: Migrieren von Daten und Anwendungsworkloads

Schritt 4: Umstellung von Gen1 auf Gen2

Schritt 1: Bewerten der Bereitschaft

  1. Erfahren Sie mehr über das Data Lake Storage Gen2-Angebot und seine Vorteile, Kosten und allgemeine Architektur.

  2. Vergleichen Sie die Funktionen von Gen1 mit denen von Gen2.

  3. Überprüfen Sie die Liste der bekannten Probleme, um etwaige Lücken in der Funktionalität zu bewerten.

  4. Gen2 unterstützt Blob Storage-Features wie Diagnoseprotokollierung, Zugriffsebenen und Richtlinien für die Blob Storage-Lebenszyklusverwaltung. Wenn Sie eines dieser Features verwenden möchten, erkundigen Sie sich über die aktuelle Unterstützung.

  5. Erkundigen Sie sich über den aktuellen Status der Unterstützung im Azure-Ökosystem, um sicherzustellen, dass Gen2 die Dienste unterstützt, von denen Ihre Lösungen abhängig sind.

Schritt 2: Vorbereiten der Migration

  1. Identifizieren Sie die Datasets, die Sie migrieren möchten.

    Nutzen Sie diese Gelegenheit, um Datasets zu bereinigen, die Sie nicht mehr verwenden. Wenn Sie nicht alle Daten gleichzeitig migrieren möchten, nutzen Sie die Zeit, um logische Datengruppen zu finden, die Sie in Phasen migrieren können.

    Führen Sie eine Alterungsanalyse (oder ähnliches) für Ihr Gen1-Konto aus, um zu identifizieren, welche Dateien oder Ordner für längere Zeit im Bestand bleiben oder vielleicht veraltet werden.

  2. Ermitteln Sie, welche Auswirkungen eine Migration auf Ihr Unternehmen hat.

    Bedenken Sie beispielsweise, ob Sie sich Ausfallzeiten während der Migration leisten können. Diese Überlegungen können Ihnen helfen, ein geeignetes Migrationsmuster zu ermitteln und die am besten geeigneten Tools auszuwählen.

  3. Erstellen Sie einen Migrationsplan.

    Wir empfehlen diese Migrationsmuster. Sie können eines dieser Muster auswählen, sie miteinander kombinieren oder ein eigenes Muster entwerfen.

Schritt 3: Migrieren von Daten, Workloads und Anwendungen

Migrieren Sie Daten, Workloads und Anwendungen mithilfe Ihres bevorzugten Musters. Wir empfehlen, Szenarien inkrementell zu validieren.

  1. Erstellen Sie ein Speicherkonto, und aktivieren Sie das Feature für hierarchische Namespaces.

  2. Migrieren Sie Ihre Daten.

  3. Konfigurieren Sie Dienste in Ihren Workloads, sodass sie auf Ihren Gen2-Endpunkt verweisen.

    Für HDInsight-Cluster können Sie der Datei „%HADOOP_HOME%/conf/core-site.xml“ Konfigurationseinstellungen für das Speicherkonto hinzufügen. Wenn Sie planen, externe Strukturtabellen von Gen1 nach Gen2 zu migrieren, stellen Sie sicher, dass Sie auch der Datei „%HIVE_CONF_DIR%/hive-site.xml“ Speicherkontoeinstellungen hinzufügen.

    Sie können die Einstellung jeder Datei mit Apache Ambari ändern. Speicherkontoeinstellungen finden Sie unter Hadoop Azure-Support: ABFS – Azure Data Lake Storage Gen2. In diesem Beispiel wird die Einstellung fs.azure.account.key verwendet, um die Autorisierung des freigegebenen Schlüssels zu aktivieren:

    <property>
      <name>fs.azure.account.key.abfswales1.dfs.core.windows.net</name>
      <value>your-key-goes-here</value>
    </property>
    

    Links zu Artikeln, die Ihnen bei der Konfiguration von HDInsight, Azure Databricks und anderen Azure-Diensten für die Nutzung von Gen2 helfen, finden Sie unter Azure-Dienste, die Azure Data Lake Storage Gen2 unterstützen.

  4. Aktualisieren Sie Anwendungen für die Verwendung von Gen2-APIs. Weitere Informationen finden Sie in diesen Leitfäden:

Environment Artikel
Azure Storage-Explorer Verwenden von Azure Storage-Explorer zum Verwalten von Verzeichnissen und Dateien in Azure Data Lake Storage Gen2
.NET Verwenden von .NET zum Verwalten von Verzeichnissen und Dateien in Azure Data Lake Storage Gen2
Java Verwenden von Java zum Verwalten von Verzeichnissen und Dateien in Azure Data Lake Storage Gen2
Python Verwenden von Python zum Verwalten von Verzeichnissen und Dateien in Azure Data Lake Storage Gen2
JavaScript (Node.js) Verwenden des JavaScript-SDK in Node.js zum Verwalten von Verzeichnissen und Dateien in Azure Data Lake Storage Gen2
REST-API Azure Data Lake Store-REST-API
  1. Aktualisieren Sie Skripts für die Verwendung der PowerShell-Cmdlets und Azure CLI-Befehle für Data Lake Storage Gen2.

  2. Suchen Sie nach URI-Verweisen, die die Zeichenfolge adl:// in Codedateien oder in Databricks-Notebooks, Apache Hive-HQL-Dateien oder anderen Dateien in Ihren Workloads enthalten. Ersetzen Sie diese Verweise durch den für Gen2 formatierten URI Ihres neuen Speicherkontos. Beispiel: Der Gen1-URI adl://mydatalakestore.azuredatalakestore.net/mydirectory/myfile könnte in abfss://myfilesystem@mydatalakestore.dfs.core.windows.net/mydirectory/myfile geändert werden.

  3. Konfigurieren Sie die Sicherheit Ihres Kontos so, dass Azure-Rollen, Sicherheit auf Datei- und Ordnerebene und Firewalls und virtuelle Netzwerke von Azure Storage enthalten sind.

Schritt 4: Umstellung von Gen1 auf Gen2

Nachdem Sie sicher sind, dass Ihre Anwendungen und Workloads in Gen2 stabil ausgeführt werden, können Sie mit der Verwendung von Gen2 entsprechend Ihren geschäftlichen Szenarien beginnen. Deaktivieren Sie alle verbleibenden Pipelines, die mit Gen1 ausgeführt werden, und nehmen Sie Ihr Gen1-Konto außer Betrieb.

Funktionen von Gen1 im Vergleich zu Gen2

In dieser Tabelle werden die Funktionen von Gen1 mit denen von Gen2 verglichen.

Bereich Gen1 Gen2
Datenorganisation Hierarchischer Namespace
Unterstützung von Dateien und Ordnern
Hierarchischer Namespace
Unterstützung von Containern, Dateien und Ordnern
Georedundanz LRS LRS, ZRS, GRS, RA-GRS
Authentifizierung Verwaltete Microsoft Entra-Identität
Dienstprinzipale
Verwaltete Microsoft Entra-Identität
Dienstprinzipale
Schlüssel für den gemeinsamen Zugriff
Authorization Verwaltung: Azure RBAC
Daten: ACLs
Verwaltung: Azure RBAC
Daten: ACLs, Azure RBAC
Verschlüsselung: ruhende Daten Serverseitig: mit von Microsoft verwalteten oder kundenseitig verwalteten Schlüsseln Serverseitig: mit von Microsoft verwalteten oder kundenseitig verwalteten Schlüsseln
VNET-Unterstützung VNET-Integration Dienstendpunkte, private Endpunkte
Entwicklerumgebung REST, .NET, Java, Python, PowerShell, Azure-Befehlszeilenschnittstelle Allgemein verfügbar: REST, .NET, Java, Python
Public Preview: JavaScript, PowerShell, Azure-Befehlszeilenschnittstelle
Ressourcenprotokolle Klassische Protokolle
Azure Monitor (integriert)
Klassische Protokolle: allgemein verfügbar
Azure Monitor (integriert) – Vorschau
Ökosystem HDInsight (3.6), Azure Databricks (ab 3.1), Azure Synapse Analytics, ADF HDInsight (3.6, 4.0), Azure Databricks (ab 5.1), Azure Synapse Analytics, ADF

Muster für Gen1 zu Gen2

Wählen Sie ein Migrationsmuster aus, und ändern Sie dieses Muster nach Bedarf.

Migrationsmuster Details
Lift & Shift Das einfachste Muster. Ideal, wenn Ausfallzeiten für Ihre Datenpipelines kein Problem darstellen.
Inkrementelles Kopieren Ähnlich Lift & Shift, aber mit geringeren Ausfallzeiten. Ideal für große Datenmengen, bei denen das Kopieren länger dauert.
Zwei Pipelines Ideal für Pipelines, bei denen keine Ausfallzeiten auftreten dürfen.
Bidirektionale Synchronisierung Vergleichbar mit dem Muster mit zwei Pipelines, aber mit einer feiner abgestuften Herangehensweise, die für kompliziertere Pipelines geeignet ist.

Diese Muster sollen nun genauer untersucht werden.

Lift & Shift-Muster

Dies ist das einfachste Muster.

  1. Beenden Sie alle Schreibvorgänge in Gen1.

  2. Verschieben Sie Daten von Gen1 zu Gen2. Wir empfehlen dazu Azure Data Factory oder das Azure-Portal. Die ACLs werden mit den Daten kopiert.

  3. Leiten Sie Erfassungsvorgänge und Workloads zu Gen2 weiter.

  4. Setzen Sie Gen1 außer Betrieb.

Sehen Sie sich den Beispielcode für das Lift & Shift-Muster im Lift & Shift-Migrationsbeispiel an.

Diagram of the lift and shift pattern.

Überlegungen zur Verwendung des Lift & Shift-Musters

  • Wechseln Sie für alle Workloads gleichzeitig von Gen1 zu Gen2.

  • Gehen Sie während der Migration und des Umstellungszeitraums von Ausfallzeiten aus.

  • Ideal für Pipelines, bei denen Ausfallzeiten kein Problem darstellen und alle Apps gleichzeitig aktualisiert werden können.

Tipp

Erwägen Sie die Verwendung des Azure-Portals, um die Ausfallzeit zu verkürzen und die Anzahl der für die Migration erforderlichen Schritte zu verringern.

Muster mit inkrementellem Kopieren

  1. Beginnen Sie damit, Daten von Gen1 zu Gen2 zu verschieben. Wir empfehlen Azure Data Factory. Die ACLs werden mit den Daten kopiert.

  2. Kopieren Sie neue Daten inkrementell von Gen1.

  3. Nachdem alle Daten kopiert wurden, beenden Sie alle Schreibvorgänge in Gen1, und leiten Sie Workloads an Gen2 weiter.

  4. Setzen Sie Gen1 außer Betrieb.

Sehen Sie sich den Beispielcode für das Muster mit inkrementellem Kopieren in unserem Beispiel für die Migration mit inkrementellem Kopieren an.

Diagram of the incremental copy pattern.

Überlegungen zur Verwendung des Musters mit inkrementellem Kopieren

  • Wechseln Sie für alle Workloads gleichzeitig von Gen1 zu Gen2.

  • Sie müssen nur während der Umstellung von Ausfallzeiten ausgehen.

  • Ideal für Pipelines, bei denen alle Apps gleichzeitig aktualisiert werden, aber für die Datenkopie mehr Zeit erforderlich ist.

Muster mit zwei Pipelines

  1. Verschieben Sie Daten von Gen1 zu Gen2. Wir empfehlen Azure Data Factory. Die ACLs werden mit den Daten kopiert.

  2. Erfassen Sie neue Daten sowohl in Gen1 als auch in Gen2.

  3. Leiten Sie Workloads an Gen2 weiter.

  4. Beenden Sie alle Schreibvorgänge in Gen1, und setzen Sie Gen1 dann außer Betrieb.

Sehen Sie sich den Beispielcode für das Muster mit zwei Pipelines in unserem Beispiel für die Migration mit zwei Pipelines an.

Diagram of the dual pipeline pattern.

Überlegungen zur Verwendung des Musters mit zwei Pipelines

  • Gen1- und Gen2-Pipelines werden parallel ausgeführt.

  • Unterstützt Umstellungen ohne Ausfallzeiten.

  • Ideal für Situationen, in denen bei Ihren Workloads und Anwendungen keine Ausfallzeiten auftreten dürfen und die Erfassung in beiden Speicherkonten erfolgen kann.

Muster mit bidirektionaler Synchronisierung

  1. Richten Sie die bidirektionale Replikation zwischen Gen1 und Gen2 ein. Wir empfehlen WANDisco. Dieses Tool bietet eine Reparaturfunktion für vorhandene Daten.

  2. Wenn alle Verschiebungen abgeschlossen sind, beenden Sie alle Schreibvorgänge in Gen1, und deaktivieren die bidirektionale Replikation.

  3. Setzen Sie Gen1 außer Betrieb.

Sehen Sie sich den Beispielcode für das Muster mit bidirektionaler Synchronisierung im Beispiel für die Migration mit bidirektionaler Synchronisierung an.

Diagram of the bidirectional pattern.

Überlegungen zur Verwendung des Musters mit bidirektionaler Synchronisierung

  • Ideal für komplexe Szenarien mit einer großen Anzahl von Pipelines und Abhängigkeiten, in denen ein Verfahren in mehreren Stufen möglicherweise sinnvoller ist.

  • Der Migrationsaufwand ist hoch, das Muster bietet aber eine gleichzeitige Unterstützung für Gen1 und Gen2.

Nächste Schritte

Siehe auch