Skapa ett HDInsight-kluster med Azure Data Lake Storage Gen1 med hjälp av En 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 ytterligare ett 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 ytterligare ett 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 följer några viktiga överväganden för att använda HDInsight med Data Lake Storage Gen1:
Alternativ för att skapa HDInsight-kluster med åtkomst till Data Lake Storage Gen1 som 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 hjälp av Azure Portal.
Förutsättningar
Anmärkning
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 Migrera Azure PowerShell från AzureRM till Az.
Innan du påbörjar de här självstudierna måste du ha:
Prenumeration för Azure. 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änsthuvudkonto. Stegen i den här självstudien innehåller instruktioner om hur du skapar en tjänstehuvudman i Microsoft Entra ID. Du måste dock vara 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ådana fall måste Microsoft Entra-administratören först skapa en tjänstehuvudkonto 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
Resource Manager-mallen och förutsättningarna för att använda mallen finns på GitHub i Distribuera ett HDInsight Linux-kluster med nya Data Lake Storage Gen1. Följ anvisningarna på den här länken för att skapa ett HDInsight-kluster med Data Lake Storage Gen1 som ytterligare lagring.
Anvisningarna på länken 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
Resource Manager-mallen 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 Microsoft Entra-programmet som används för att fastställa identiteten mellan HDInsight-klustret och Data Lake Storage Gen1 har åtkomst till den fil/mapp som du försöker komma åt. Utför följande steg för att göra detta.
- Leta reda på namnet på Microsoft Entra-programmet som är associerat med HDInsight-klustret och lagringskontot med Data Lake Storage Gen1. Ett sätt att leta efter namnet är att öppna bladet för HDInsight-klustret som du skapade med hjälp av Resource Manager-mallen, klicka på fliken Cluster Microsoft Entra identity och leta efter värdet för tjänstens huvudsakliga visningsnamn.
- Ge nu åtkomst till det här Microsoft Entra-programmet på den fil/mapp som du vill komma åt från HDInsight-klustret. Information om hur du anger 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 har åtkomst till Data Lake Storage Gen1. För att göra det kör vi ett Hive-exempeljobb som skapar en tabell med de 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-baserad Hadoop på HDInsight från Windows.
När du är ansluten startar du Hive CLI med följande kommando:
hive
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
Få åtkomst till Data Lake Storage Gen1 med HJÄLP av HDFS-kommandon
När du har konfigurerat HDInsight-klustret 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-baserad Hadoop på HDInsight från Windows.
När du är ansluten använder du följande HDFS-filsystemkommando för att visa 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 den fil 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.