Share via


Usare gli archivi di metadati esterni in Azure HDInsight

Importante

Il metastore predefinito fornisce un livello basic database SQL di Azure con solo 5 DTU e 2 GB di dimensioni massime dei dati (NOT UPGRADEABLE)! Usarlo solo a scopo di controllo di qualità e test. Per carichi di lavoro di produzione o di grandi dimensioni, è consigliabile eseguire la migrazione a un metastore esterno.

HDInsight consente di assumere il controllo dei dati e dei metadati con archivi dati esterni. Questa funzionalità è disponibile per il metastore Apache Hive, il metastore Apache Oozie e il database Apache Ambari.

Il metastore di Apache Hive in HDInsight è una parte essenziale dell'architettura di Apache Hadoop. Un metastore è il repository dello schema centrale. Il metastore viene usato da altri strumenti di accesso ai Big Data, ad esempio Apache Spark, Interactive Query (LLAP), Presto o Apache Pig. HDInsight usa un Database SQL di Azure come il metastore Hive.

HDInsight Hive Metadata Store Architecture.

Esistono due modi per configurare un metastore per i cluster HDInsight:

Metastore predefinito

Per impostazione predefinita, HDInsight crea un metastore con ogni tipo di cluster. È invece possibile specificare un metastore personalizzato. Il metastore predefinito include quanto segue:

  • Risorse limitate. Vedere l'avviso nella parte superiore della pagina.

  • Non sono previsti costi aggiuntivi. HDInsight crea un metastore con ogni tipo di cluster senza alcun costo aggiuntivo per l'utente.

  • Il metastore predefinito fa parte del ciclo di vita del cluster. Quando si elimina un cluster verranno eliminati anche il metastore e i metadati corrispondenti.

  • Il metastore predefinito è consigliato solo per carichi di lavoro semplici. I carichi di lavoro che non richiedono più cluster e non necessitano di metadati mantenuti oltre il ciclo di vita del cluster.

  • Il metastore predefinito non può essere condiviso con altri cluster.

Metastore personalizzato

HDInsight supporta inoltre i metastore personalizzati, che sono consigliati per i cluster di produzione:

  • Specificare il proprio database SQL di Azure come metastore.

  • Il ciclo di vita del metastore non è associato a un ciclo di vita dei cluster, quindi è possibile creare ed eliminare cluster senza perdere i metadati. I metadati come ad esempio gli schemi di Hive verranno mantenuti anche dopo aver eliminato e ricreato il cluster di HDInsight.

  • Un metastore personalizzato consente di collegare più cluster e tipi di cluster al metastore. Ad esempio, un singolo metastore può essere condiviso tra i cluster Interactive Query, Hive e Spark in HDInsight.

  • Si paga per il costo di un metastore (database SQL di Azure) in base al livello di prestazioni scelto.

  • È possibile aumentare il metastore in base alle esigenze.

  • Il cluster e il metastore esterno devono essere ospitati nella stessa area.

HDInsight Hive Metadata Store Use Case.

Creare e configurare database SQL di Azure per il metastore personalizzato

Creare o avere un database SQL di Azure esistente prima di configurare un metastore Hive personalizzato per un cluster HDInsight. Per altre informazioni, vedere Avvio rapido: Creare un database singolo in database SQL di Azure.

Durante la creazione del cluster, il servizio HDInsight deve connettersi al metastore esterno e verificare le credenziali. Configurare database SQL di Azure regole del firewall per consentire ai servizi e alle risorse di Azure di accedere al server. Abilitare questa opzione nel portale di Azure selezionando Imposta firewall del server. Selezionare quindi No sotto Nega accesso alla rete pubblica e sotto Consenti ai servizi e alle risorse di Azure di accedere a questo server per database SQL di Azure. Per altre informazioni, vedere Creare e gestire regole del firewall IP

Gli endpoint privati per gli archivi SQL sono supportati solo nei cluster creati con outbound ResourceProvider Connessione ion. Per altre informazioni, vedere questa documentazione.

set server firewall button.

allow azure services access.

Selezionare un metastore personalizzato durante la creazione del cluster

È possibile puntare il cluster a un database SQL di Azure creato in precedenza in qualsiasi momento. Per la creazione del cluster tramite il portale, l'opzione viene specificata dalle impostazioni Archiviazione > Metastore.

HDInsight Hive Metadata Store Azure portal.

Linee guida per il metastore Apache Hive

Nota

Usare un metastore personalizzato quando possibile per separare le risorse di calcolo (il cluster in esecuzione) e i metadati (archiviati nel metastore). Iniziare con il livello S2, che fornisce 50 DTU e 250 GB di spazio di archiviazione. Se viene visualizzato un collo di bottiglia, è possibile aumentare il database.

  • Se si prevede l'accesso di più cluster HDInsight a dati separati, usare un database separato per il metastore in ogni cluster. Se un metastore è condiviso da più cluster HDInsight, significa che i cluster usano gli stessi metadati e file di dati utente sottostanti.

  • Eseguire periodicamente il backup del metastore personalizzato. Il database SQL di Azure genera automaticamente i backup, ma il periodo di conservazione dei backup varia. Per ulteriori informazioni, vedere Informazioni sui backup automatici del database SQL.

  • Individuare il metastore e il cluster HDInsight nella stessa area. Questa configurazione fornirà le prestazioni più elevate e i costi di uscita di rete più bassi.

  • Monitorare il metastore per ottenere prestazioni e disponibilità usando gli strumenti di monitoraggio database SQL di Azure o i log di Monitoraggio di Azure.

  • Quando viene creata una nuova versione successiva di Azure HDInsight in un database di metastore personalizzato esistente, il sistema aggiorna lo schema del metastore. L'aggiornamento è irreversibile senza ripristinare il database dal backup.

  • Se un metastore è condiviso da più cluster, assicurarsi che tutti i cluster abbiano la stessa versione HDInsight. Versioni Hive diverse usano schemi di database del metastore diversi. Ad esempio, non è possibile condividere un metastore tra cluster Hive 2.1 e Hive 3.1 con versione.

  • In HDInsight 4.0, Spark e Hive usano cataloghi indipendenti per accedere alle tabelle SparkSQL o Hive. Una tabella creata da Spark si trova nel catalogo Spark. Una tabella creata da Hive si trova nel catalogo Hive. Questo comportamento è diverso da quello di HDInsight 3.6 in cui Hive e Spark condividono un catalogo comune. L'integrazione di Hive e Spark in HDInsight 4.0 si basa su Hive Warehouse Connector (HWC). HWC funziona come bridge tra Spark e Hive. Informazioni su Hive Warehouse Connessione or.

  • In HDInsight 4.0 se si vuole condividere il metastore tra Hive e Spark, è possibile modificare la proprietà metastore.catalog.default in hive nel cluster Spark. Questa proprietà è disponibile in Ambari Advanced spark2-hive-site-override. È importante comprendere che la condivisione del metastore funziona solo per le tabelle hive esterne. Questa operazione non funzionerà se sono presenti tabelle hive interne/gestite o tabelle ACID.

Aggiornamento della password del metastore Hive personalizzata

Quando si usa un database metastore Hive personalizzato, è possibile modificare la password del database SQL. Se si modifica la password per il metastore personalizzato, i servizi Hive non funzioneranno finché non si aggiorna la password nel cluster HDInsight.

Per aggiornare la password del metastore Hive:

  1. Aprire l'interfaccia utente di Ambari.
  2. Fare clic su Servizi -> Hive -> Configurazioni --> Database.
  3. Aggiornare i campi Password database alla nuova password del database DI SQL Server.
  4. Fare clic sul pulsante Test Connessione ion per assicurarsi che la nuova password funzioni.
  5. Fare clic sul pulsante Save (Salva).
  6. Seguire le istruzioni di Ambari per salvare la configurazione e riavviare i servizi necessari.

Metastore apache Oozie

Apache Oozie è un sistema di coordinamento dei flussi di lavoro che consente di gestire i processi Hadoop. Oozie supporta i processi Hadoop per Apache MapReduce, Pig, Hive e altri. Oozie usa un metastore per archiviare i dettagli sui flussi di lavoro. Per ottenere un miglioramento delle prestazioni quando si usa Oozie, è possibile usare il database SQL di Azure come metastore personalizzato. Il metastore fornisce l'accesso ai dati del processo Oozie dopo l'eliminazione del cluster.

Per istruzioni sulla creazione di un metastore Oozie con il database SQL di Azure, vedere come usare Apache Oozie per i flussi di lavoro.

Aggiornamento della password personalizzata del metastore Oozie

Quando si usa un database metastore Oozie personalizzato, è possibile modificare la password del database SQL. Se si modifica la password per il metastore personalizzato, i servizi Oozie non funzioneranno finché non si aggiorna la password nel cluster HDInsight.

Per aggiornare la password del metastore Oozie:

  1. Aprire l'interfaccia utente di Ambari.
  2. Fare clic su Servizi --> Oozie --> Configurazioni --> Database.
  3. Aggiornare i campi Password database alla nuova password del database DI SQL Server.
  4. Fare clic sul pulsante Test Connessione ion per assicurarsi che la nuova password funzioni.
  5. Fare clic sul pulsante Save (Salva).
  6. Seguire le istruzioni di Ambari per salvare la configurazione e riavviare i servizi necessari.

Database Ambari personalizzato

Per usare il proprio database esterno con Apache Ambari in HDInsight, vedere Database Apache Ambari personalizzato.

Passaggi successivi