Share via


Skapa ett HDInsight-kluster med Azure Data Lake Storage Gen1 med hjälp av Azure Resource Manager-mall

Lär dig hur du använder Azure PowerShell för att konfigurera ett HDInsight-kluster med Azure Data Lake Storage Gen1 som ytterligare lagring.

För klustertyper som stöds kan Data Lake Storage Gen1 användas som standardlagring eller som ett extra lagringskonto. När Data Lake Storage Gen1 används som ytterligare lagring är standardlagringskontot för klustren fortfarande Azure Blob Storage (WASB) och klusterrelaterade filer (till exempel loggar osv.) skrivs fortfarande till standardlagringen, medan de data som du vill bearbeta kan lagras i ett Data Lake Storage Gen1 konto. Att använda Data Lake Storage Gen1 som ett extra lagringskonto påverkar inte prestanda eller möjligheten att läsa/skriva till lagringen från klustret.

Använda Data Lake Storage Gen1 för HDInsight-klusterlagring

Här är några viktiga saker att tänka på när du använder HDInsight med Data Lake Storage Gen1:

  • Alternativ för att skapa HDInsight-kluster med åtkomst till Data Lake Storage Gen1 eftersom standardlagring är tillgängligt för HDInsight version 3.5 och 3.6.

  • Alternativ för att skapa HDInsight-kluster med åtkomst till Data Lake Storage Gen1 eftersom ytterligare lagring är tillgängligt för HDInsight-versionerna 3.2, 3.4, 3.5 och 3.6.

I den här artikeln etablerar vi ett Hadoop-kluster med Data Lake Storage Gen1 som ytterligare lagring. Anvisningar om hur du skapar ett Hadoop-kluster med Data Lake Storage Gen1 som standardlagring finns i Skapa ett HDInsight-kluster med Data Lake Storage Gen1 med Azure Portal.

Förutsättningar

Anteckning

Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Se Installera Azure PowerShell för att komma igång. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.

Innan du påbörjar de här självstudierna måste du ha:

  • En Azure-prenumeration. Se Hämta en kostnadsfri utvärderingsversion av Azure.

  • Installera Azure PowerShell 1.0 eller senare. Se Så här installerar och konfigurerar du Azure PowerShell.

  • Microsoft Entra tjänstens huvudnamn. Stegen i den här självstudien innehåller instruktioner om hur du skapar ett huvudnamn för tjänsten i Microsoft Entra ID. Du måste dock vara en Microsoft Entra administratör för att kunna skapa ett huvudnamn för tjänsten. Om du är Microsoft Entra administratör kan du hoppa över den här förutsättningen och fortsätta med självstudien.

    Om du inte är Microsoft Entra administratör kan du inte utföra de steg som krävs för att skapa ett huvudnamn för tjänsten. I så fall måste Microsoft Entra-administratören först skapa ett huvudnamn för tjänsten innan du kan skapa ett HDInsight-kluster med Data Lake Storage Gen1. Dessutom måste tjänstens huvudnamn skapas med hjälp av ett certifikat, enligt beskrivningen i Skapa ett tjänsthuvudnamn med certifikat.

Skapa ett HDInsight-kluster med Data Lake Storage Gen1

Mallen Resource Manager och kraven för att använda mallen finns på GitHub i Distribuera ett HDInsight Linux-kluster med nya Data Lake Storage Gen1. Följ anvisningarna i den här länken för att skapa ett HDInsight-kluster med Data Lake Storage Gen1 som ytterligare lagring.

Anvisningarna på länken som nämns ovan kräver PowerShell. Innan du börjar med dessa instruktioner måste du logga in på ditt Azure-konto. Öppna ett nytt Azure PowerShell fönster från skrivbordet och ange följande kodfragment. När du uppmanas att logga in kontrollerar du att du loggar in som en av prenumerationsadministratörerna/-ägaren:

# 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>

Mallen distribuerar följande resurstyper:

Ladda upp exempeldata till Data Lake Storage Gen1

Mallen Resource Manager skapar ett nytt lagringskonto med Data Lake Storage Gen1 och associerar det med HDInsight-klustret. Nu måste du ladda upp exempeldata till Data Lake Storage Gen1. Du behöver dessa data senare i självstudien för att köra jobb från ett HDInsight-kluster som har åtkomst till data i lagringskontot med Data Lake Storage Gen1. Anvisningar om hur du laddar upp data finns i Ladda upp en fil till Data Lake Storage Gen1. Om du behöver exempeldata att ladda upp, kan du hämta mappen Ambulansdata från Azure Data Lake Git-lagringsplatsen.

Ange relevanta ACL:er för exempeldata

För att se till att exempeldata som du laddar upp är tillgängliga från HDInsight-klustret måste du se till att det Microsoft Entra program som används för att upprätta identitet mellan HDInsight-klustret och Data Lake Storage Gen1 har åtkomst till filen/mappen som du försöker komma åt. Utför följande steg för att göra detta.

  1. Leta reda på namnet på det Microsoft Entra program som är associerat med HDInsight-klustret och lagringskontot med Data Lake Storage Gen1. Ett sätt att leta efter namnet är att öppna HDInsight-klusterbladet som du skapade med hjälp av mallen Resource Manager, klicka på fliken Kluster Microsoft Entra identitet och leta efter värdet för visningsnamnet för tjänstens huvudnamn.
  2. Ge nu åtkomst till det här Microsoft Entra-programmet i filen/mappen som du vill komma åt från HDInsight-klustret. Information om hur du ställer in rätt ACL:er för filen/mappen i Data Lake Storage Gen1 finns i Skydda data i Data Lake Storage Gen1.

Kör testjobb i HDInsight-klustret för att använda Data Lake Storage Gen1

När du har konfigurerat ett HDInsight-kluster kan du köra testjobb i klustret för att testa att HDInsight-klustret kan komma åt Data Lake Storage Gen1. För att göra det kör vi ett Hive-exempeljobb som skapar en tabell med hjälp av exempeldata som du laddade upp tidigare till ditt lagringskonto med Data Lake Storage Gen1.

I det här avsnittet ska du SSH till ett HDInsight Linux-kluster och köra Hive-exempelfrågan. Om du använder en Windows-klient rekommenderar vi att du använder PuTTY, som kan laddas ned från https://www.chiark.greenend.org.uk/~sgtatham/putty/download.html.

Mer information om hur du använder PuTTY finns i Använda SSH med Linux-baserade Hadoop på HDInsight från Windows.

  1. När du är ansluten startar du Hive CLI med följande kommando:

    hive
    
  2. Använd CLI och ange följande instruktioner för att skapa en ny tabell med namnet vehicles med hjälp av exempeldata i Data Lake Storage Gen1:

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

    Du bör se utdata som liknar följande:

    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
    

Åtkomst Data Lake Storage Gen1 med HDFS-kommandon

När du har konfigurerat HDInsight-klustret för att använda Data Lake Storage Gen1 kan du använda HDFS-gränssnittskommandona för att komma åt butiken.

I det här avsnittet ska du SSH till ett HDInsight Linux-kluster och köra HDFS-kommandona. Om du använder en Windows-klient rekommenderar vi att du använder PuTTY, som kan laddas ned från https://www.chiark.greenend.org.uk/~sgtatham/putty/download.html.

Mer information om hur du använder PuTTY finns i Använda SSH med Linux-baserade Hadoop på HDInsight från Windows.

När du är ansluten använder du följande HDFS-filsystemkommando för att lista filerna i lagringskontot med Data Lake Storage Gen1.

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

Detta bör visa en lista över filen som du laddade upp tidigare till Data Lake Storage Gen1.

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

Du kan också använda hdfs dfs -put kommandot för att ladda upp vissa filer till Data Lake Storage Gen1 och sedan använda hdfs dfs -ls för att kontrollera om filerna har laddats upp.

Nästa steg