Condividi tramite


Configurare cluster in HDInsight con Apache Hadoop, Spark, Kafka e altro ancora

Questo articolo illustra come configurare e configurare Apache Hadoop, Apache Spark, Apache Kafka, Interactive Query o Apache HBase in Azure HDInsight. Si apprenderà anche come personalizzare i cluster e aggiungere la sicurezza aggiungendoli a un dominio.

Un cluster Hadoop è costituito da diverse macchine virtuali ,note anche come nodi, usate per l'elaborazione distribuita delle attività. HDInsight gestisce i dettagli di implementazione dell'installazione e della configurazione dei singoli nodi. Vengono fornite solo informazioni di configurazione generali.

Importante

La fatturazione del cluster HDInsight inizia dopo la creazione del cluster e si interrompe solo quando questo viene eliminato. La fatturazione viene ripartita al minuto, quindi eliminare sempre il cluster quando non è più in uso. Informazioni su come eliminare un cluster

Se si usano più cluster insieme, si vuole creare una rete virtuale. Se si usa un cluster Spark, si vuole usare anche Hive Warehouse Connector. Per altre informazioni, vedere Pianificare una rete virtuale per Azure HDInsight e Integrare Apache Spark e Apache Hive con Hive Warehouse Connector.

Metodi di installazione del cluster

La tabella seguente illustra i diversi metodi che è possibile usare per configurare un cluster HDInsight.

Cluster creati con Web browser Riga di comando REST API SDK
Azure portal      
Azure Data Factory
Interfaccia della riga di comando di Azure      
Azure PowerShell      
cURL    
Modelli di Gestione risorse di Azure      

In questo articolo viene illustrata la configurazione nel portale di Azure, in cui è possibile creare un cluster HDInsight.

Nozioni di base

Screenshot che mostra le opzioni Crea cluster HDInsight.

Dettagli di progetto

Azure Resource Manager consente di usare le risorse nell'applicazione come gruppo, noto come gruppo di risorse di Azure. È quindi possibile distribuire, aggiornare, monitorare o eliminare tutte le risorse per l'applicazione in un'unica operazione coordinata.

Dettagli del cluster

I dettagli del cluster includono il nome, l'area, il tipo e la versione.

Nome cluster

I nomi dei cluster HDInsight presentano le restrizioni seguenti:

  • Caratteri consentiti: a-z, 0-9 e A-Z
  • Lunghezza massima: 59
  • Nomi riservati: app
  • Denominazione del cluster: l'ambito è per tutte le sottoscrizioni di Azure. Il nome del cluster deve essere univoco in tutto il mondo. I primi sei caratteri devono essere univoci all'interno di una rete virtuale.

Paese

Non è necessario specificare in modo esplicito il percorso del cluster. perché si trova nello stesso percorso di archiviazione predefinito. Per un elenco delle aree supportate, selezionare l'elenco a discesa Area nei prezzi di HDInsight.

Tipo di cluster

Nella tabella seguente HDInsight fornisce attualmente i tipi di cluster, ognuno con un set di componenti per fornire determinate funzionalità.

Importante

I cluster HDInsight sono disponibili i vari tipi, ognuno per un carico di lavoro o una tecnologia specifici. Nessun metodo supportato crea un cluster che combina più tipi, ad esempio HBase in un cluster. Se la soluzione richiede tecnologie che vengono distribuite tra più tipi di cluster HDInsight, una rete virtuale di Azure è in grado di connettere i tipi di cluster necessari.

Tipo di cluster Funzionalità
Hadoop Query batch e analisi dei dati archiviati.
HBase Elaborazione per grandi quantità di dati NoSQL senza schema.
Interactive Query Caching in memoria per query Hive interattive e più rapide.
Kafka Piattaforma di streaming distribuita che è possibile usare per creare pipeline e applicazioni di dati di streaming in tempo reale.
Spark Elaborazione in memoria, query interattive, elaborazione di flussi micro batch.

Versione

Scegliere la versione di HDInsight per questo cluster. Per altre informazioni, vedere Versioni supportate di HDInsight.

Credenziali del cluster

Con i cluster HDInsight è possibile configurare due account utente durante la creazione del cluster:

  • Nome utente dell'account di accesso del cluster: il nome utente predefinito è admin. Usa la configurazione di base nel portale di Azure. Viene anche chiamato utente cluster o utente HTTP.
  • Nome utente Secure Shell (SSH): usato per connettersi al cluster tramite SSH. Per altre informazioni, vedere l'articolo su come usare SSH con HDInsight.

Il nome utente HTTP presenta le restrizioni seguenti:

  • Caratteri speciali consentiti: _ e @
  • Caratteri non consentiti: #;."',/:!*?$()[]{}<>|&--=+%~^space
  • Lunghezza massima: 20

Il nome utente SSH presenta le restrizioni seguenti:

  • Caratteri speciali consentiti: _ e @
  • Caratteri non consentiti: #;."',/:!*?$()[]{}<>|&--=+%~^space
  • Lunghezza massima: 64
  • Nomi riservati: hadoop, utenti, oozie, hive, mapred, ambari-qa, zookeeper, tez, hdfs, sqoop, yarn, hcat, ams, hbase, administrator, admin, user, user1, test, user2, test1, user3, admin1, 1, 123, a, actuser, adm, admin2, aspnet, backup, console, David, guest, John, owner, root, server, sql, support, support_388945a0, sys, test2, test3, user4, user5, spark

Storage

Screenshot che mostra le impostazioni di archiviazione del cluster con endpoint compatibili con HDFS.

Anche se un'installazione locale di Hadoop usa Hadoop Distributed File System (HDFS) per l'archiviazione nel cluster, nel cloud si usano gli endpoint di archiviazione connessi al cluster. L'uso dell'archiviazione cloud consente di eliminare in modo sicuro i cluster HDInsight usati per il calcolo mantenendo comunque i dati.

I cluster HDInsight possono usare le opzioni di archiviazione seguenti:

  • Azure Data Lake Storage Gen2
  • Utilizzo generico dell'Archiviazione di Azure v2
  • BLOB in blocchi di Archiviazione di Azure (supportato solo come archiviazionesecondaria)

Per altre informazioni sulle opzioni di archiviazione con HDInsight, vedere Confronto delle opzioni di archiviazione disponibili per l'uso con cluster Azure HDInsight.

L'uso di più account di archiviazione in una posizione diversa dal cluster HDInsight non è supportato.

Durante la configurazione, per l'endpoint di archiviazione predefinito, è necessario specificare un contenitore BLOB di un account di archiviazione o Data Lake Storage. L'archiviazione predefinita include log di sistema e applicazioni. Facoltativamente, è possibile specificare più account di archiviazione collegati e account di Data Lake Storage a cui il cluster può accedere. Il cluster HDInsight e l'account di archiviazione da esso dipendente devono trovarsi nella stessa posizione di Azure.

Nota

La funzionalità che richiede il trasferimento sicuro trasmette tutte le richieste all'account dell'utente tramite una connessione sicura. Questa funzionalità è supportata solo dal cluster HDInsight versione 3.6 o successiva. Per altre informazioni, vedere Creare un cluster Apache Hadoop con account di archiviazione con trasferimento sicuro in Azure HDInsight.

Non abilitare il trasferimento di archiviazione sicura dopo aver creato un cluster perché l'uso dell'account di archiviazione può causare errori. È preferibile creare un nuovo cluster usando un account di archiviazione con il trasferimento sicuro già abilitato.

HDInsight non trasferisce, sposta o copia automaticamente i dati archiviati nell'archiviazione da un'area a un'altra.

Impostazioni metastore

È possibile creare dei metastore Hive o Apache Oozie facoltativi. Non tutti i tipi di cluster supportano i metastore e Azure Synapse Analytics non è compatibile con i metastore.

Per altre informazioni, vedere Use external metadata stores in Azure HDInsight (Usare archivi di metadati esterni in Azure HDInsight).

Quando si crea un metastore personalizzato, non usare un nome di database contenente trattini, segni meno o spazi. perché a causa di questi caratteri il processo di creazione del cluster non andrebbe a buon fine.

Database SQL per Hive

Per conservare le tabelle Hive dopo aver eliminato il cluster HDInsight, usare un metastore personalizzato. Sarà quindi possibile associare il metastore a un altro cluster HDInsight.

Non è possibile condividere un metastore HDInsight creato per una versione del cluster HDInsight tra diverse versioni del cluster HDInsight. Per un elenco di versioni di HDInsight, vedere Versioni supportate di HDInsight.

È possibile usare le identità gestite per l'autenticazione con il database SQL per Hive. Per altre informazioni, vedere Usare l'identità gestita per l'autenticazione database SQL in HDInsight.

Il metastore predefinito fornisce un database SQL con un limite DTU di livello base 5 (non aggiornabile). È adatto a scopi di test di base. Per carichi di lavoro di grandi dimensioni o di produzione, è consigliabile eseguire la migrazione a un metastore esterno.

Database SQL per Oozie

Per migliorare le prestazioni quando si usa Oozie, usare un metastore personalizzato. Un metastore può anche fornire l'accesso ai dati di processo Oozie dopo l'eliminazione del cluster.

È possibile usare le identità gestite per l'autenticazione con il database SQL per Oozie. Per altre informazioni, vedere Usare l'identità gestita per l'autenticazione database SQL in HDInsight.

Database SQL per Ambari

Ambari viene usato per monitorare i cluster HDInsight, apportare modifiche alla configurazione e archiviare le informazioni di gestione del cluster e la cronologia dei processi. Con la funzionalità personalizzata del database Ambari, è possibile distribuire un nuovo cluster e configurare Ambari in un database esterno gestito. Per altre informazioni, vedere Database Ambari personalizzato.

È possibile usare le identità gestite per l'autenticazione con il database SQL per Ambari. Per altre informazioni, vedere Usare l'identità gestita per l'autenticazione database SQL in HDInsight.

Non è possibile riutilizzare un metastore Oozie personalizzato. Per usare un metastore Oozie personalizzato, è necessario fornire un database SQL vuoto quando si crea il cluster HDInsight.

Sicurezza e rete

Screenshot che mostra l'opzione Enterprise Security Package.

Enterprise Security Package

Per i tipi di cluster Hadoop, Spark, HBase, Kafka e Interactive Query, è possibile scegliere di abilitare il pacchetto di sicurezza aziendale. Questo pacchetto offre la possibilità di configurare un cluster più sicuro usando Apache Ranger e l'integrazione con Microsoft Entra. Per altre informazioni, vedere Panoramica della sicurezza Enterprise in Azure HDInsight.

Con il pacchetto di sicurezza aziendale, è possibile integrare HDInsight con Microsoft Entra e Apache Ranger. È possibile usare il pacchetto di sicurezza aziendale per creare più utenti.

Per altre informazioni sulla creazione di un cluster HDInsight aggiunto al dominio, vedere Creare un ambiente sandbox HDInsight aggiunto al dominio.

Transport Layer Security

Per altre informazioni, vedere Transport Layer Security.

Rete virtuale

Se la soluzione richiede tecnologie che vengono distribuite tra più tipi di cluster HDInsight, una rete virtuale di Azure è in grado di connettere i tipi di cluster necessari. Questa configurazione consente ai cluster e al codice in essi distribuito di comunicare direttamente tra loro.

Per altre informazioni sull'uso di una rete virtuale di Azure con HDInsight, vedere Pianificare una rete virtuale per HDInsight.

Per un esempio dell'uso di due tipi di cluster in una rete virtuale di Azure, vedere Usare lo streaming strutturato Apache Spark con Apache Kafka. Per altre informazioni sull'uso di HDInsight con una rete virtuale, inclusi i requisiti di configurazione specifici per la rete virtuale, vedere Pianificare una rete virtuale per HDInsight.

Impostazione di crittografia del disco

Per altre informazioni, vedere Crittografia dischi con chiavi gestite dal cliente.

Proxy REST Kafka

Questa impostazione è disponibile solo per il tipo di cluster Kafka. Per altre informazioni, vedere Uso di un proxy REST.

Identità

Per altre informazioni, vedere Identità gestite in Azure HDInsight.

Configurazione e prezzi

Screenshot che mostra la scelta delle dimensioni del nodo per HDInsight.

Viene addebitato l'uso del nodo, purché il cluster esista. La fatturazione inizia con la creazione del cluster e si interrompe quando il cluster viene eliminato. I cluster non possono essere deallocati o sospesi.

Configurazione nodi

Ogni tipo di cluster ha il proprio numero di nodi, una terminologia specifica per i nodi e dimensioni predefinite delle macchine virtuali. Nella tabella seguente il numero di nodi per ogni tipo di nodo è elencato tra parentesi.

Type Nodi Diagramma
Hadoop Nodo head (2), nodo di lavoro (1+) Nodi del cluster HDInsight Hadoop.
hbase Server head (2), server di area (1+), nodo Master/ZooKeeper (3) Configurazione del tipo di cluster HBase di HDInsight.
Spark Nodo head (2), nodo di lavoro (1+), nodo ZooKeeper (3) (gratuito per le VM ZooKeeper con dimensioni A1) Configurazione del tipo di cluster Spark di HDInsight.

Per altre informazioni, vedere Configurazione predefinita dei nodi e dimensioni delle macchine virtuali per i cluster.

Costo dei cluster HDInsight determinato dal numero di nodi e dalle dimensioni della macchina virtuale per i nodi.

Diversi tipi di cluster hanno diversi tipi, numeri e dimensioni di nodi:

  • Tipo predefinito di cluster Hadoop:

    • Due nodi head
    • Quattro nodi di lavoro

Se si sta provando HDInsight, è consigliabile usare un nodo di lavoro. Per altre informazioni sui prezzi di HDInsight, vedere Prezzi di HDInsight.

Nota

Il limite relativo alle dimensioni del cluster dipende dalla sottoscrizione di Azure. Per aumentare il limite, contattare il team del supporto fatturazione di Azure.

Quando si usa il portale di Azure per configurare il cluster, le dimensioni del nodo vengono esposte tramite la scheda Configurazione + prezzi. Nel portale è anche possibile visualizzare il costo associato alle diverse dimensioni dei nodi.

Dimensioni delle macchine virtuali

Quando si distribuiscono i cluster, scegliere le risorse di calcolo in base alla soluzione che si prevede di distribuire. Per i cluster HDInsight vengono usate le macchine virtuali seguenti:

Per informazioni sul valore da usare per specificare le dimensioni di una macchina virtuale quando si crea un cluster usando i diversi SDK o Azure PowerShell, vedere Dimensioni delle macchine virtuali da usare per i cluster HDInsight. In questo articolo collegato, usare il valore della casella Dimensioni delle tabelle.

Importante

Se si prevedono più di 32 nodi di lavoro in un cluster, è necessario selezionare una dimensione del nodo head con almeno 8 core e 14 GB di RAM.

Per altre informazioni, vedere Dimensioni per le macchine virtuali. Per informazioni sui prezzi delle varie dimensioni, vedere Prezzi di HDInsight.

Allegato del disco

Nota

I dischi aggiunti sono configurati solo per le directory locali di Gestione nodi e non per le directory del nodo dati.

Un cluster HDInsight include spazio su disco predefinito basato sulla versione. L'esecuzione di alcune applicazioni di grandi dimensioni può portare a spazio su disco insufficiente, con errori del disco completi LinkId=221672#ERROR_NOT_ENOUGH_DISK_SPACE e errori del processo.

È possibile aggiungere altri dischi al cluster usando la nuova funzionalità NodeManager della directory locale. Al momento della creazione di cluster Hive e Spark, è possibile selezionare il numero di dischi e aggiungerli ai nodi di lavoro. I dischi selezionati possono essere 1 TB ciascuno e fanno parte delle directory locali NodeManager .

  1. Nella scheda Configurazione e prezzi selezionare Abilita disco gestito.
  2. In Dischi Standard immettere il numero di dischi.
  3. Selezionare il nodo di lavoro.

È possibile verificare il numero di dischi nella scheda Rivedi e crea in Configurazione cluster.

Aggiunta di un'applicazione

È possibile installare applicazioni HDInsight in un cluster HDInsight basato su Linux. È possibile usare applicazioni fornite da Microsoft o da terze parti o sviluppate dall'utente. Per altre informazioni, vedere Installare applicazioni Apache Hadoop di terze parti in Azure HDInsight.

La maggior parte delle applicazioni HDInsight viene installata in un nodo perimetrale vuoto. Un nodo perimetrale vuoto è una macchina virtuale Linux con gli stessi strumenti client installati e configurati come nel nodo head. Il nodo perimetrale può essere usato per accedere al cluster e per testare e ospitare le applicazioni client. Per altre informazioni, vedere Usare nodi perimetrali vuoti in HDInsight.

Azioni script

È possibile installare più componenti o personalizzare la configurazione del cluster usando gli script durante la creazione. Tali script vengono richiamati tramite azioni script, ovvero un'opzione di configurazione che è possibile usare dai cmdlet di portale di Azure, HDInsight di Windows PowerShell o HDInsight .NET SDK. Per altre informazioni, vedere Personalizzare il cluster HDInsight usando azioni script.

Alcuni componenti Java nativi, ad esempio Apache Mahout e Cascading, possono essere eseguiti nel cluster come file JAR (Java Archive). È possibile distribuire questi file JAR nell'archiviazione e inviarli ai cluster HDInsight con meccanismi di invio di processi Hadoop. Per altre informazioni, vedere Inviare processi Apache Hadoop a livello di codice.

Nota

In caso di problemi durante la distribuzione di file JAR in cluster HDInsight o la chiamata di file JAR in cluster HDInsight, contattare il Supporto tecnico Microsoft.

HDInsight non supporta la propagazione e non è idonea per supporto tecnico Microsoft. Per gli elenchi dei componenti supportati, vedere Novità delle versioni cluster incluse con HDInsight.

In alcuni casi è opportuno configurare i file di configurazione seguenti durante il processo di creazione:

  • clusterIdentity.xml
  • core-site.xml
  • gateway.xml
  • hbase-env.xml
  • hbase-site.xml
  • hdfs-site.xml
  • hive-env.xml
  • hive-site.xml
  • mapred-site
  • oozie-site.xml
  • oozie-env.xml
  • tez-site.xml
  • webhcat-site.xml
  • yarn-site.xml

Per altre informazioni, vedere Personalizzare cluster HDInsight tramite Bootstrap.