Erstellen eines HDInsight-Clusters mit Azure Data Lake Storage Gen1 mithilfe einer Azure Resource Manager-Vorlage

Erfahren Sie, wie Sie mithilfe von Azure PowerShell einen HDInsight-Cluster mit Azure Data Lake Storage Gen1 als zusätzlichem Speicher erstellen.

Für unterstützte Clustertypen kann Data Lake Storage Gen1 als Standardspeicher oder als zusätzliches Speicherkonto verwendet werden. Wenn Data Lake Storage Gen1 als zusätzlicher Speicher verwendet wird, ist das Standardspeicherkonto für den Cluster weiterhin Azure Blob Storage (WASB), und clusterbezogene Dateien (z. B. Protokolle usw.) werden weiterhin in den Standardspeicher geschrieben, während die Daten, die Sie verarbeiten möchten, in einem Data Lake Storage Gen1-Konto gespeichert werden können. Das Verwenden von Data Lake Storage Gen1 als zusätzliches Speicherkonto wirkt sich nicht auf Leistung oder die Fähigkeit aus, Daten über den Cluster aus dem Speicher zu lesen bzw. in ihn zu schreiben.

Verwenden von Azure Data Lake Storage Gen1 für HDInsight-Clusterspeicher

Hier sind einige wichtige Überlegungen zur Verwendung von HDInsight mit Data Lake Storage Gen1 aufgeführt:

  • Eine Option zum Erstellen von HDInsight-Clustern mit Zugriff auf Data Lake Storage Gen1 als Standardspeicher ist für die HDInsight-Versionen 3.5 und 3.6 verfügbar.

  • Eine Option zum Erstellen von HDInsight-Clustern mit Zugriff auf Data Lake Storage Gen1 als zusätzlichen Speicher ist für die HDInsight-Versionen 3.2, 3.4, 3.5 und 3.6 verfügbar.

In diesem Artikel stellen wir einen Hadoop-Cluster mit Data Lake Storage Gen1 als zusätzlichem Speicher bereit. Anleitungen zum Erstellen eines Hadoop-Clusters mit Data Lake Storage Gen1 als Standardspeicher finden Sie unter Erstellen eines HDInsight-Clusters mit Data Lake Storage Gen1 mithilfe des Azure-Portals.

Voraussetzungen

Hinweis

Es wird empfohlen, das Azure Az PowerShell-Modul für die Interaktion mit Azure zu verwenden. Informationen zu den ersten Schritten finden Sie unter Installieren des Azure Az PowerShell-Moduls. Informationen zum Migrieren zum Az PowerShell-Modul finden Sie unter Migrieren von Azure PowerShell von AzureRM zum Az-Modul.

Bevor Sie mit diesem Tutorial beginnen können, benötigen Sie Folgendes:

  • Ein Azure-Abonnement. Siehe Kostenlose Azure-Testversion.

  • Mindestens Azure PowerShell 1.0. Weitere Informationen finden Sie unter Installieren und Konfigurieren von Azure PowerShell.

  • Microsoft Entra Dienstprinzipal. Die Schritte in diesem Tutorial enthalten Anweisungen zum Erstellen eines Dienstprinzipals in Microsoft Entra ID. Sie müssen jedoch ein Microsoft Entra Administrator sein, um einen Dienstprinzipal erstellen zu können. Wenn Sie Microsoft Entra Administrator sind, können Sie diese Voraussetzung überspringen und mit dem Tutorial fortfahren.

    Wenn Sie kein Microsoft Entra Administrator sind, können Sie nicht die schritte ausführen, die zum Erstellen eines Dienstprinzipals erforderlich sind. In diesem Fall muss Ihr Microsoft Entra Administrator zuerst einen Dienstprinzipal erstellen, bevor Sie einen HDInsight-Cluster mit Data Lake Storage Gen1 erstellen können. Zudem muss der Dienstprinzipal mit einem Zertifikat erstellt werden, wie unter Erstellen eines Dienstprinzipals mit Zertifikat beschrieben.

Erstellen eines HDInsight-Clusters mit Data Lake Storage Gen1

Die Resource Manager-Vorlage und die Voraussetzungen für die Verwendung der Vorlage sind auf GitHub unter Bereitstellen eines HDInsight Linux-Clusters mit dem neuen Data Lake Storage Gen1 verfügbar. Befolgen Sie die unter diesem Link bereitgestellten Anweisungen, um einen HDInsight-Cluster mit Data Lake Storage Gen1 als zusätzlichem Speicher zu erstellen.

Für die Anweisungen unter dem oben genannten Link ist PowerShell erforderlich. Bevor Sie mit diesen Anweisungen beginnen, müssen Sie sich bei Ihrem Azure-Konto anmelden. Öffnen Sie auf dem Desktop ein neues Azure PowerShell-Fenster, und geben Sie die folgenden Codeausschnitte ein. Stellen Sie bei der Aufforderung zum Anmelden sicher, dass Sie sich als einer der Administratoren/Besitzer des Abonnements anmelden:

# Log in to your Azure account
Connect-AzAccount

# List all the subscriptions associated to your account
Get-AzSubscription

# Select a subscription
Set-AzContext -SubscriptionId <subscription ID>

Mit der Vorlage werden die folgenden Ressourcentypen bereitgestellt:

Hochladen von Beispieldaten in Data Lake Storage Gen1

Mit der Resource Manager-Vorlage wird ein neues Speicherkonto mit Data Lake Storage Gen1 erstellt und dem HDInsight-Cluster zugeordnet. Sie müssen nun einige Beispieldaten in Data Lake Storage Gen1 hochladen. Sie benötigen diese Daten später im Tutorial zum Ausführen von Aufträgen über einen HDInsight-Cluster, bei denen auf Daten im Speicherkonto mit Data Lake Storage Gen1 zugegriffen wird. Anweisungen zum Hochladen von Daten finden Sie unter Hochladen einer Datei in Data Lake Storage Gen1. Wenn Sie Beispieldaten zum Hochladen verwenden möchten, können Sie den Ordner Ambulance Data aus dem Azure Data Lake-Git-Repositoryherunterladen.

Festlegen relevanter ACLs für die Beispieldaten

Um sicherzustellen, dass auf die von Ihnen hochgeladenen Beispieldaten über den HDInsight-Cluster zugegriffen werden kann, müssen Sie sicherstellen, dass die Microsoft Entra Anwendung, die zum Einrichten der Identität zwischen dem HDInsight-Cluster und Data Lake Storage Gen1 verwendet wird, Zugriff auf die Datei/den Ordner hat, auf die Sie zugreifen möchten. Führen Sie dazu die folgenden Schritte aus.

  1. Suchen Sie den Namen der Microsoft Entra Anwendung, die dem HDInsight-Cluster zugeordnet ist, und das Speicherkonto mit Data Lake Storage Gen1. Eine Möglichkeit, nach dem Namen zu suchen, besteht darin, das Blatt HDInsight-Cluster zu öffnen, das Sie mit der vorlage Resource Manager erstellt haben, auf die Registerkarte Cluster Microsoft Entra Identität zu klicken und nach dem Wert des Dienstprinzipalanzeigenamens zu suchen.
  2. Stellen Sie nun Zugriff auf diese Microsoft Entra Anwendung für die Datei/den Ordner bereit, auf die Sie über den HDInsight-Cluster zugreifen möchten. Informationen zum Festlegen der richtigen Zugriffssteuerungslisten für die Datei oder den Ordner in Data Lake Storage Gen1 finden Sie unter Schützen von Daten in Data Lake Storage Gen1.

Ausführen von Testaufträgen im HDInsight-Cluster für die Verwendung von Data Lake Storage Gen1

Nachdem Sie einen HDInsight-Cluster konfiguriert haben, können Sie Testaufträge für den Cluster ausführen, um zu testen, ob der HDInsight-Cluster auf Data Lake Storage Gen1 zugreifen kann. Zu diesem Zweck führen Sie einen Hive-Beispielauftrag aus, bei dem eine Tabelle aus den Beispieldaten erstellt wird, die Sie zuvor in Ihr Speicherkonto mit Data Lake Storage Gen1 hochgeladen haben.

In diesem Abschnitt stellen Sie eine SSH-Verbindung mit einem HDInsight-Linux-Cluster her und führen eine Hive-Beispielabfrage aus. Wenn Sie einen Windows-Client verwenden, empfehlen wir die Verwendung von PuTTY, das Sie von https://www.chiark.greenend.org.uk/~sgtatham/putty/download.html herunterladen können.

Weitere Informationen zum Verwenden von PuTTY finden Sie unter Verwenden von SSH mit Linux-basiertem Hadoop in HDInsight unter Windows.

  1. Nachdem die Verbindung hergestellt wurde, starten Sie die Hive-Befehlszeilenschnittstelle (CLI) mit dem folgenden Befehl:

    hive
    
  2. Geben Sie die folgenden Anweisungen zum Erstellen einer neuen Tabelle namens vehicles mithilfe der CLI ein, wobei Sie die Beispieldaten in Data Lake Storage Gen1 verwenden:

    DROP TABLE vehicles;
    CREATE EXTERNAL TABLE vehicles (str string) LOCATION 'adl://<mydatalakestoragegen1>.azuredatalakestore.net:443/';
    SELECT * FROM vehicles LIMIT 10;
    

    Die Ausgabe sollte etwa folgendermaßen aussehen:

    1,1,2014-09-14 00:00:03,46.81006,-92.08174,51,S,1
    1,2,2014-09-14 00:00:06,46.81006,-92.08174,13,NE,1
    1,3,2014-09-14 00:00:09,46.81006,-92.08174,48,NE,1
    1,4,2014-09-14 00:00:12,46.81006,-92.08174,30,W,1
    1,5,2014-09-14 00:00:15,46.81006,-92.08174,47,S,1
    1,6,2014-09-14 00:00:18,46.81006,-92.08174,9,S,1
    1,7,2014-09-14 00:00:21,46.81006,-92.08174,53,N,1
    1,8,2014-09-14 00:00:24,46.81006,-92.08174,63,SW,1
    1,9,2014-09-14 00:00:27,46.81006,-92.08174,4,NE,1
    1,10,2014-09-14 00:00:30,46.81006,-92.08174,31,N,1
    

Zugreifen auf Data Lake Storage Gen1 mit HDFS-Befehlen

Nachdem Sie den HDInsight-Cluster für die Verwendung von Data Lake Storage Gen1 konfiguriert haben, können Sie die HDFS-Shellbefehle verwenden, um auf den Speicher zuzugreifen.

In diesem Abschnitt stellen Sie eine SSH-Verbindung mit einem HDInsight-Linux-Cluster her und führen die HDFS-Befehle aus. Wenn Sie einen Windows-Client verwenden, empfehlen wir die Verwendung von PuTTY, das Sie von https://www.chiark.greenend.org.uk/~sgtatham/putty/download.html herunterladen können.

Weitere Informationen zum Verwenden von PuTTY finden Sie unter Verwenden von SSH mit Linux-basiertem Hadoop in HDInsight unter Windows.

Nachdem die Verbindung hergestellt wurde, listen Sie mit dem folgenden HDFS-Dateisystembefehl die Dateien im Speicherkonto mit Data Lake Storage Gen1 auf.

hdfs dfs -ls adl://<storage account with Data Lake Storage Gen1 name>.azuredatalakestore.net:443/

Hierbei sollte auch die Datei aufgeführt werden, die Sie bereits in Data Lake Storage Gen1 hochgeladen haben.

15/09/17 21:41:15 INFO web.CaboWebHdfsFileSystem: Replacing original urlConnectionFactory with org.apache.hadoop.hdfs.web.URLConnectionFactory@21a728d6
Found 1 items
-rwxrwxrwx   0 NotSupportYet NotSupportYet     671388 2015-09-16 22:16 adl://mydatalakestoragegen1.azuredatalakestore.net:443/mynewfolder

Sie können auch den Befehl hdfs dfs -put verwenden, um Dateien in Data Lake Storage Gen1 hochzuladen, und dann mit hdfs dfs -ls überprüfen, ob der Upload der Dateien erfolgreich war.

Nächste Schritte