Condividi tramite


Creare un cluster HDInsight con Data Lake Storage Gen1 usando un modello di Azure Resource Manager

Informazioni su come usare Azure PowerShell per configurare un cluster HDInsight con Azure Data Lake Storage Gen1 come risorsa di archiviazione aggiuntiva.

Per i tipi di cluster supportati, è possibile usare Data Lake Storage Gen1 come archiviazione predefinita o come account di archiviazione aggiuntivo. Quando Data Lake Storage Gen1 viene usato come risorsa di archiviazione aggiuntiva, l'account di archiviazione predefinito per i cluster sarà comunque archiviazione BLOB di Azure (WASB) e i file correlati al cluster (ad esempio log e così via) vengono ancora scritti nell'archiviazione predefinita, mentre i dati che si desidera elaborare possono essere archiviati in un account Data Lake Storage Gen1. L'uso di Data Lake Storage Gen1 come account di archiviazione aggiuntivo non ha impatto sulle prestazioni o sulla possibilità di leggere/scrivere nella risorsa di archiviazione dal cluster.

Uso di Data Lake Storage Gen1 per l'archiviazione di cluster HDInsight

Di seguito sono riportate alcune considerazioni importanti per l'uso di HDInsight con Data Lake Storage Gen1:

  • L'opzione per creare cluster HDInsight con accesso a Data Lake Storage Gen1 come risorsa di archiviazione predefinita è disponibile per le versioni 3.5 e 3.6 di HDInsight.

  • L'opzione per creare cluster HDInsight con accesso a Data Lake Storage Gen1 come risorsa di archiviazione aggiuntiva è disponibile per HDInsight versione 3.2, 3.4, 3.5 e 3.6.

In questo articolo si effettuerà il provisioning di un cluster Hadoop con Data Lake Storage Gen1 come risorsa di archiviazione aggiuntiva. Per istruzioni su come creare un cluster Hadoop con Data Lake Storage Gen1 come archiviazione predefinita, vedere Creare un cluster HDInsight con Data Lake Storage Gen1 usando portale di Azure.

Prerequisiti

Nota

È consigliabile usare il modulo Azure Az PowerShell per interagire con Azure. Per iniziare, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo AZ PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.

Prima di iniziare questa esercitazione, è necessario disporre di quanto segue:

  • Una sottoscrizione di Azure. Vedere Ottenere una versione di prova gratuita di Azure.

  • Azure PowerShell 1.0 o versione successiva. Vedere Come installare e configurare Azure PowerShell.

  • Microsoft Entra'entità servizio. I passaggi descritti in questa esercitazione forniscono istruzioni su come creare un'entità servizio in Microsoft Entra ID. Tuttavia, è necessario essere un amministratore Microsoft Entra per poter creare un'entità servizio. Se si è un amministratore di Microsoft Entra, è possibile ignorare questo prerequisito e procedere con l'esercitazione.

    Se non si è un amministratore di Microsoft Entra, non sarà possibile eseguire i passaggi necessari per creare un'entità servizio. In tal caso, l'amministratore Microsoft Entra deve prima creare un'entità servizio prima di poter creare un cluster HDInsight con Data Lake Storage Gen1. Inoltre, l'entità servizio deve essere creata usando un certificato, come descritto in Creare un'entità servizio con certificato.

Creare un cluster HDInsight con Data Lake Storage Gen1

Il modello di Resource Manager e i prerequisiti per l'uso del modello sono disponibili in GitHub in Deploy a HDInsight Linux cluster with new Data Lake Storage Gen1 (Distribuire un cluster HDInsight Linux con Data Lake Storage Gen1). Seguire le istruzioni riportate in questa pagina per creare un cluster HDInsight con Data Lake Storage Gen1 come risorsa di archiviazione aggiuntiva.

Le istruzioni indicate nella suddetta pagina richiedono PowerShell. Prima di mettere in pratica queste istruzioni, assicurarsi di accedere al proprio account Azure. Sul desktop aprire una nuova finestra di Azure PowerShell e immettere i frammenti di codice seguenti. Quando viene chiesto di effettuare l'accesso, assicurarsi di accedere come amministratore/proprietario della sottoscrizione:

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

Il modello distribuisce i tipi di risorse seguenti:

Caricare dati di esempio in Data Lake Storage Gen1

Il modello di Resource Manager crea un nuovo account di archiviazione con Data Lake Storage Gen1 e lo associa al cluster HDInsight. È ora necessario caricare alcuni dati di esempio in Data Lake Storage Gen1. Questi dati saranno necessari più avanti nell'esercitazione per eseguire processi da un cluster HDInsight che accede ai dati nell'account di archiviazione con Data Lake Storage Gen1. Per istruzioni su come caricare i dati, vedere Caricare un file in Data Lake Storage Gen1. Se si stanno cercando dati di esempio da caricare, è possibile ottenere la cartella Ambulance Data dal Repository GitHub per Azure Data Lake.

Impostare ACL rilevanti per i dati di esempio

Per assicurarsi che i dati di esempio caricati siano accessibili dal cluster HDInsight, è necessario assicurarsi che l'applicazione Microsoft Entra usata per stabilire l'identità tra il cluster HDInsight e Data Lake Storage Gen1 abbia accesso al file/cartella a cui si sta tentando di accedere. A questo scopo, eseguire i passaggi seguenti.

  1. Trovare il nome dell'applicazione Microsoft Entra associata al cluster HDInsight e all'account di archiviazione con Data Lake Storage Gen1. Un modo per cercare il nome consiste nell'aprire il pannello del cluster HDInsight creato usando il modello di Resource Manager, fare clic sulla scheda Cluster Microsoft Entra identity e cercare il valore del nome visualizzato dell'entità servizio.
  2. A questo punto, fornire l'accesso a questa applicazione Microsoft Entra nel file/nella cartella a cui si vuole accedere dal cluster HDInsight. Per impostare gli elenchi di controllo di accesso (ACL) corretti nel file o nella cartella in Data Lake Storage Gen1, vedere Protezione dei dati Data Lake Storage Gen1.

Eseguire i processi di test nel cluster HDInsight per usare Data Lake Storage Gen1

Dopo aver configurato un cluster HDInsight, è possibile eseguire processi di test nel cluster per verificare che il cluster HDInsight possa accedere a Data Lake Storage Gen1. A tale scopo, verrà eseguito un processo Hive di esempio che crea una tabella usando i dati di esempio caricati in precedenza nell'account di archiviazione con Data Lake Storage Gen1.

In questa sezione si esegue SSH in un cluster HDInsight Linux ed eseguire la query Hive di esempio. Se si usa un client Windows, è consigliabile usare PuTTY, che può essere scaricato da https://www.chiark.greenend.org.uk/~sgtatham/putty/download.html.

Per altre informazioni sull'uso di PuTTY, vedere Usare SSH con Hadoop basato su Linux in HDInsight da Windows.

  1. Dopo la connessione, avviare l'interfaccia della riga di comando di Hive mediante il comando seguente:

    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 Data Lake Storage Gen1:

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

    L'output dovrebbe essere simile al seguente:

    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 a Data Lake Storage Gen1 tramite comandi HDFS

Dopo aver configurato il cluster HDInsight perché funzioni con Data Lake Storage Gen1, è possibile usare i comandi della shell HDFS per accedere all'archivio.

In questa sezione si esegue SSH in un cluster HDInsight Linux ed eseguire i comandi HDFS. Se si usa un client Windows, è consigliabile usare PuTTY, che può essere scaricato da https://www.chiark.greenend.org.uk/~sgtatham/putty/download.html.

Per altre informazioni sull'uso di PuTTY, vedere Usare SSH con Hadoop basato su Linux in HDInsight da Windows.

Dopo la connessione, usare il comando file system HDFS seguente per elencare i file nell'account di archiviazione con Data Lake Storage Gen1.

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

Dovrebbe essere visualizzato il file precedentemente caricato in 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

È anche possibile usare il comando hdfs dfs -put per caricare alcuni file in Data Lake Storage Gen1 e quindi usare hdfs dfs -ls per verificare se i file sono stati caricati correttamente.

Passaggi successivi