Creare un cluster HDInsight con Data Lake Store usando un modello di Azure Resource ManagerCreate an HDInsight cluster with Data Lake Store using Azure Resource Manager template

Informazioni su come usare Azure PowerShell per configurare un cluster HDInsight con Azure Data Lake Store come risorsa di archiviazione aggiuntiva.Learn how to use Azure PowerShell to configure an HDInsight cluster with Azure Data Lake Store, as additional storage.

Per i tipi di cluster supportati, Data Lake Store deve essere usato come risorsa di archiviazione predefinita o come account di archiviazione aggiuntivo.For supported cluster types, Data Lake Store be used as an default storage or additional storage account. Quando Data Lake Store viene usato come risorsa di archiviazione aggiuntiva, l'account di archiviazione predefinito per i cluster saranno i BLOB del servizio di archiviazione di Azure (WASB) e i file correlati ai cluster (ad esempio log e così via) vengono scritti nella risorsa di archiviazione predefinita, mentre i dati da elaborare possono essere archiviati in un account di Data Lake Store.When Data Lake Store is used as additional storage, the default storage account for the clusters will still be Azure Storage Blobs (WASB) and the cluster-related files (such as logs, etc.) are still written to the default storage, while the data that you want to process can be stored in a Data Lake Store account. L'uso di Archivio Data Lake come account di archiviazione aggiuntivo non ha impatto sulle prestazioni o sulla possibilità di leggere/scrivere nella risorsa di archiviazione dal cluster.Using Data Lake Store as an additional storage account does not impact performance or the ability to read/write to the storage from the cluster.

Udo di Data Lake Store per l'archiviazione di cluster HDInsightUsing Data Lake Store for HDInsight cluster storage

Di seguito sono riportate alcune considerazioni importanti per l'uso di HDInsight con Data Lake Store:Here are some important considerations for using HDInsight with Data Lake Store:

  • L'opzione per creare cluster HDInsight con accesso a Data Lake Store come risorsa di archiviazione predefinita è disponibile per HDInsight versione 3.5 e 3.6.Option to create HDInsight clusters with access to Data Lake Store as default storage is available for HDInsight version 3.5 and 3.6.

  • L'opzione per creare cluster HDInsight con accesso a Data Lake Store come risorsa di archiviazione aggiuntiva è disponibile per HDInsight versioni 3.2, 3.4, 3.5 e 3.6.Option to create HDInsight clusters with access to Data Lake Store as additional storage is available for HDInsight versions 3.2, 3.4, 3.5, and 3.6.

In questo articolo si effettuerà il provisioning di un cluster Hadoop con Archivio Data Lake come risorsa di archiviazione aggiuntiva.In this article, we provision a Hadoop cluster with Data Lake Store as additional storage. Per istruzioni su come creare un cluster Hadoop con Data Lake Store come risorsa di archiviazione predefinita, vedere Creare un cluster HDInsight con Data Lake Store tramite il portale di Azure.For instructions on how to create a Hadoop cluster with Data Lake Store as default storage, see Create an HDInsight cluster with Data Lake Store using Azure Portal.

PrerequisitiPrerequisites

Prima di iniziare questa esercitazione, è necessario disporre di quanto segue:Before you begin this tutorial, you must have the following:

  • Una sottoscrizione di Azure.An Azure subscription. Vedere Ottenere una versione di valutazione gratuita di Azure.See Get Azure free trial.
  • Azure PowerShell 1.0 o versioni successive.Azure PowerShell 1.0 or greater. Vedere Come installare e configurare Azure PowerShell.See How to install and configure Azure PowerShell.
  • Entità servizio di Azure Active Directory.Azure Active Directory Service Principal. Questa esercitazione fornisce tutte le istruzioni utili su come creare un'entità servizio in Azure AD.Steps in this tutorial provide instructions on how to create a service principal in Azure AD. Tuttavia, è necessario essere un amministratore di Azure AD per creare un'entità servizio.However, you must be an Azure AD administrator to be able to create a service principal. Se si è un amministratore di Azure AD, è possibile ignorare questo prerequisito e procedere con l'esercitazione.If you are an Azure AD administrator, you can skip this prerequisite and proceed with the tutorial.

    Se non si è un amministratore di Azure AD, non sarà possibile eseguire i passaggi necessari per creare un'entità servizio.If you are not an Azure AD administrator, you will not be able to perform the steps required to create a service principal. In tal caso, l'amministratore di Azure AD deve creare un'entità servizio prima di creare un cluster HDInsight con l'archivio Data Lake Store.In such a case, your Azure AD administrator must first create a service principal before you can create an HDInsight cluster with Data Lake Store. Inoltre, l'entità servizio deve essere creata usando un certificato, come descritto in Creare un'entità servizio con certificato.Also, the service principal must be created using a certificate, as described at Create a service principal with certificate.

Creare un cluster HDInsight con Azure Data Lake StoreCreate an HDInsight cluster with Azure Data Lake Store

Il modello di Resource Manager e i prerequisiti per l'uso del modello sono disponibili in GitHub alla sezione Deploy a HDInsight Linux cluster with new Data Lake Store (Distribuzione di un cluster HDInsight Linux con il nuovo Data Lake Store).The Resource Manager template, and the prerequisites for using the template, are available on GitHub at Deploy a HDInsight Linux cluster with new Data Lake Store. Seguire le istruzioni riportate in questa pagina per creare un cluster HDInsight con Azure Data Lake Store come spazio di archiviazione aggiuntivo.Follow the instructions provided at this link to create an HDInsight cluster with Azure Data Lake Store as the additional storage.

Le istruzioni indicate nella suddetta pagina richiedono PowerShell.The instructions at the link mentioned above require PowerShell. Prima di mettere in pratica queste istruzioni, assicurarsi di accedere al proprio account Azure.Before you start with those instructions, make sure you log in to your Azure account. Sul desktop aprire una nuova finestra di Azure PowerShell e immettere i frammenti di codice seguenti.From your desktop, open a new Azure PowerShell window, and enter the following snippets. Quando viene richiesto di effettuare l'accesso, assicurarsi di accedere come amministratore/proprietario della sottoscrizione:When prompted to log in, make sure you log in as one of the subscription admininistrators/owner:

# Log in to your Azure account
Login-AzureRmAccount

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

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

Caricare i dati di esempio in Azure Data Lake StoreUpload sample data to the Azure Data Lake Store

Il modello di Resource Manager crea un nuovo account Data Lake Store e lo associa al cluster HDInsight.The Resource Manager template creates a new Data Lake Store account and associates it with the HDInsight cluster. È ora necessario caricare alcuni dati di esempio in Data Lake Store.You must now upload some sample data to the Data Lake Store. Questi dati saranno necessari più avanti nell'esercitazione per eseguire i processi da un cluster HDInsight che accede ai dati nell'Archivio Data Lake.You'll need this data later in the tutorial to run jobs from an HDInsight cluster that access data in the Data Lake Store. Per istruzioni su come caricare i dati, vedere Caricare dati in Archivio Data Lake di Azure.For instructions on how to upload data, see Upload a file to your Data Lake Store. Se si stanno cercando dati di esempio da caricare, è possibile ottenere la cartella Ambulance Data dal Repository GitHub per Azure Data Lake.If you are looking for some sample data to upload, you can get the Ambulance Data folder from the Azure Data Lake Git Repository.

Impostare ACL rilevanti per i dati di esempioSet relevant ACLs on the sample data

Per assicurarsi che i dati di esempio caricati siano accessibili dal cluster HDInsight, è necessario assicurarsi che l'applicazione Azure AD usata per stabilire l'identità tra il cluster HDInsight e Data Lake Store disponga dell'accesso al file o alla cartella a cui si sta tentando di accedere.To make sure the sample data you upload is accessible from the HDInsight cluster, you must ensure that the Azure AD application that is used to establish identity between the HDInsight cluster and Data Lake Store has access to the file/folder you are trying to access. A questo scopo, eseguire i passaggi seguenti.To do this, perform the following steps.

  1. Trovare il nome dell'applicazione Azure AD associata al cluster HDInsight e Data Lake Store.Find the name of the Azure AD application that is associated with HDInsight cluster and the Data Lake Store. Per ricercare il nome è possibile aprire il pannello del cluster HDInsight creato usando il modello di Resource Manager, fare clic sulla scheda Identità AAD del cluster e cercare il valore Nome visualizzato dell'entità servizio.One way to look for the name is to open the HDInsight cluster blade that you created using the Resource Manager template, click the Cluster AAD Identity tab, and look for the value of Service Principal Display Name.
  2. A questo punto, consentire all'applicazione di Azure AD di accedere al file o alla cartella a cui si desidera accedere dal cluster HDInsight.Now, provide access to this Azure AD application on the file/folder that you want to access from the HDInsight cluster. Per impostare gli ACL corretti sul file o sulla cartella in Data Lake Store, vedere Protezione dei dati presenti in Archivio Data Lake di Azure.To set the right ACLs on the file/folder in Data Lake Store, see Securing data in Data Lake Store.

Eseguire i processi di test sul cluster HDInsight per usare Archivio Data Lake.Run test jobs on the HDInsight cluster to use the Data Lake Store

Dopo aver configurato un cluster HDInsight, è possibile eseguire processi di test sul cluster per verificare che il cluster HDInsight possa accedere ad Archivio Data Lake.After you have configured an HDInsight cluster, you can run test jobs on the cluster to test that the HDInsight cluster can access Data Lake Store. A questo scopo, verrà eseguito un processo Hive di esempio che crea una tabella con i dati di esempio caricati in precedenza in Archivio Data Lake.To do so, we will run a sample Hive job that creates a table using the sample data that you uploaded earlier to your Data Lake Store.

In questa sezione si accede tramite SSH a un cluster Linux HDInsight e si esegue una query Hive di esempio.In this section you will SSH into an HDInsight Linux cluster and run the a sample Hive query. Se si usa un client Windows, è consigliabile usare PuTTY, disponibile per il download all'indirizzo http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html.If you are using a Windows client, we recommend using PuTTY, which can be downloaded from http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html.

Per altre informazioni sull'uso di PuTTY, vedere Uso di SSH con Hadoop basato su Linux in HDInsight da Windows .For more information on using PuTTY, see Use SSH with Linux-based Hadoop on HDInsight from Windows .

  1. Dopo la connessione, avviare l'interfaccia della riga di comando di Hive mediante il comando seguente:Once connected, start the Hive CLI by using the following command:

    hive
    
  2. Usando l'interfaccia della riga di comando, immettere le istruzioni seguenti per creare una nuova tabella denominata vehicles con i dati di esempio in Archivio Data Lake:Using the CLI, enter the following statements to create a new table named vehicles by using the sample data in the Data Lake Store:

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

    L'output dovrebbe essere simile al seguente:You should see an output similar to the following:

    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
    

Accedere ad Archivio Data Lake tramite comandi HDFSAccess Data Lake Store using HDFS commands

Dopo aver configurato il cluster HDInsight perché funzioni con Archivio Data Lake, è possibile usare i comandi della shell HDFS per accedere all'archivio.Once you have configured the HDInsight cluster to use Data Lake Store, you can use the HDFS shell commands to access the store.

In questa sezione si accede tramite SSH a un cluster Linux HDInsight e si eseguono comandi HDFS.In this section you will SSH into an HDInsight Linux cluster and run the HDFS commands. Se si usa un client Windows, è consigliabile usare PuTTY, disponibile per il download all'indirizzo http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html.If you are using a Windows client, we recommend using PuTTY, which can be downloaded from http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html.

Per altre informazioni sull'uso di PuTTY, vedere Uso di SSH con Hadoop basato su Linux in HDInsight da Windows .For more information on using PuTTY, see Use SSH with Linux-based Hadoop on HDInsight from Windows .

Dopo avere stabilito la connessione, usare il comando del file system HDFS seguente per elencare i file nell'Archivio Data Lake.Once connected, use the following HDFS filesystem command to list the files in the Data Lake Store.

hdfs dfs -ls adl://<Data Lake Store account name>.azuredatalakestore.net:443/

Dovrebbe essere elencato anche il file precedentemente caricato in Archivio Data Lake.This should list the file that you uploaded earlier to the Data Lake Store.

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://mydatalakestore.azuredatalakestore.net:443/mynewfolder

È inoltre possibile usare il comando hdfs dfs -put per caricare dei file in Archivio Data Lake e quindi usare hdfs dfs -ls per verificare che i file siano stati caricati correttamente.You can also use the hdfs dfs -put command to upload some files to the Data Lake Store, and then use hdfs dfs -ls to verify whether the files were successfully uploaded.

Passaggi successiviNext steps