Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Funzionalità che supportano l'elevata disponibilità in un EMR cluster Amazon e il loro funzionamento con applicazioni open source
Questo argomento fornisce informazioni sulle funzionalità di alta disponibilità di Hadoop di HDFS NameNode e in YARN ResourceManager un EMR cluster Amazon e su come le funzionalità ad alta disponibilità funzionano con le applicazioni open source e altre funzionalità di Amazon. EMR
Alta disponibilità HDFS
Un EMR cluster Amazon con più nodi primari consente di HDFS NameNode funzionalità di alta disponibilità in Hadoop. Per ulteriori informazioni, vedere HDFSAlta
In un EMR cluster Amazon, due o più nodi separati sono configurati come NameNodes. Uno NameNode è in uno active
stato e gli altri sono in uno standby
stato. Se il nodo si active
NameNode guasta, Amazon EMR avvia un processo di HDFS failover automatico. Un nodo standby
NameNode diventa active
e assume il controllo di tutte le operazioni dei client nel cluster. Amazon EMR sostituisce il nodo guasto con uno nuovo, che poi si ricongiunge come un. standby
Nota
Nelle EMR versioni Amazon 5.23.0 fino alla 5.30.1 inclusa, vengono eseguiti solo due dei tre nodi primari. HDFS NameNode
Se hai bisogno di scoprire qual NameNode èactive
, puoi utilizzarlo SSH per connetterti a qualsiasi nodo primario del cluster ed eseguire il seguente comando:
hdfs haadmin -getAllServiceState
L'output elenca i nodi in cui NameNode è installato e il loro stato. Ad esempio,
ip-##-#-#-##1.ec2.internal:8020 active ip-##-#-#-##2.ec2.internal:8020 standby ip-##-#-#-##3.ec2.internal:8020 standby
Elevata disponibilità YARN ResourceManager
Un EMR cluster Amazon con più nodi primari abilita la funzionalità di YARN ResourceManager alta disponibilità in Hadoop. Per ulteriori informazioni, consulta la sezione ResourceManager Alta
In un EMR cluster Amazon con più nodi primari, YARN ResourceManager viene eseguito su tutti e tre i nodi primari. Uno ResourceManager è in active
stato e gli altri due sono in standby
stato. Se il nodo primario si active
ResourceManager guasta, Amazon EMR avvia un processo di failover automatico. Un nodo primario con un standby
ResourceManager si occupa di tutte le operazioni. Amazon EMR sostituisce il nodo primario guasto con uno nuovo, che quindi si ricongiunge al ResourceManager quorum come. standby
Puoi connetterti a «http://master-public-dns-name
:8088/cluster» per qualsiasi nodo primario, che indirizza automaticamente l'utente al gestore delle risorse. active
Per scoprire cos'è il gestore delle risorseactive
, usa SSH per connetterti a qualsiasi nodo primario del cluster. Quindi esegui il comando seguente per ottenere un elenco dei tre nodi primari e il relativo stato:
yarn rmadmin -getAllServiceState
Applicazioni supportate in un EMR cluster Amazon con più nodi primari
Puoi installare ed eseguire le seguenti applicazioni su un EMR cluster Amazon con più nodi primari. Per ogni applicazione, il processo di failover del nodo primario varia.
Applicazione | Disponibilità durante il failover del nodo primario | Note |
---|---|---|
Flink | Disponibilità non interessata dal failover del nodo primario |
I lavori Flink su Amazon EMR vengono eseguiti come YARN applicazioni. Flink viene JobManagers eseguito così com'YARNè ApplicationMasters sui nodi principali. Non JobManager è influenzato dal processo di failover del nodo primario. Se utilizzi Amazon EMR versione 5.27.0 o precedente, JobManager si tratta di un singolo punto di errore. In caso di JobManager errore, perde tutti gli stati del processo e non riprende i processi in esecuzione. È possibile abilitare l' JobManager alta disponibilità configurando il conteggio dei tentativi dell'applicazione, il checkpoint e l'abilitazione ZooKeeper come storage di stato per Flink. Per ulteriori informazioni, consulta Configurazione di Flink su un EMR cluster Amazon con più nodi primari. A partire dalla EMR versione Amazon 5.28.0, non è necessaria alcuna configurazione manuale per abilitare l' JobManager alta disponibilità. |
Ganglia | Disponibilità non interessata dal failover del nodo primario |
Ganglia è disponibile su tutti i nodi primari, quindi può continuare a funzionare durante il processo di failover del nodo primario. |
Hadoop | Elevata disponibilità |
HDFS NameNode ed esegui YARN ResourceManager automaticamente il failover sul nodo di standby in caso di guasto del nodo primario attivo. |
HBase |
Elevata disponibilità |
HBaseesegue automaticamente il failover sul nodo di standby in caso di guasto del nodo primario attivo. Se ci si connette HBase tramite un server REST o Thrift, è necessario passare a un nodo primario diverso in caso di guasto del nodo primario attivo. |
HCatalog |
Disponibilità non interessata dal failover del nodo primario |
HCatalogè basato sul metastore Hive, che esiste all'esterno del cluster. HCatalogrimane disponibile durante il processo di failover del nodo primario. |
JupyterHub | Elevata disponibilità |
JupyterHub è installato su tutte e tre le istanze principali. Si consiglia vivamente di configurare la persistenza del notebook per evitare la perdita del notebook in caso di errore del nodo primario. Per ulteriori informazioni, consulta la sezione Configurazione della persistenza per i notebook in Amazon S3. |
Livy | Elevata disponibilità |
Livy è installato su tutti e tre i nodi primari. Quando il nodo primario attivo riscontra un errore, perdi l'accesso alla sessione Livy corrente e devi creare una nuova sessione Livy su un altro nodo primario o sul nuovo nodo sostitutivo. |
Mahout |
Disponibilità non interessata dal failover del nodo primario |
Poiché Mahout non prevede il daemon, non viene interessato dal processo di failover del nodo primario. |
MXNet |
Disponibilità non interessata dal failover del nodo primario |
Poiché non MXNet dispone di un demone, non è influenzato dal processo di failover del nodo primario. |
Phoenix |
Elevata disponibilità |
Phoenix' QueryServer viene eseguito solo su uno dei tre nodi primari. Phoenix su tutti e tre i master è configurato per connettere Phoenix. QueryServer È possibile trovare l'IP privato del server Query di Phoenix utilizzando il file |
Pig |
Disponibilità non interessata dal failover del nodo primario |
Poiché Pig non prevede il daemon, non viene interessato dal processo di failover del nodo primario. |
Spark | Elevata disponibilità |
Tutte le applicazioni Spark vengono eseguite in YARN contenitori e possono reagire al failover del nodo primario allo stesso modo delle funzionalità ad alta YARN disponibilità. |
Sqoop | Elevata disponibilità |
Per impostazione predefinita, sqoop-job e sqoop-metastore memorizzano i dati (descrizioni del lavoro) sul disco locale del master che esegue il comando; se si desidera salvare i dati del metastore su database esterno, fare riferimento alla documentazione di apache Sqoop |
Tez |
Elevata disponibilità |
Poiché i contenitori Tez sono attiviYARN, Tez si comporta allo stesso modo del processo di failover del nodo primarioYARN. |
TensorFlow |
Disponibilità non interessata dal failover del nodo primario |
Poiché non TensorFlow dispone di un demone, non è influenzato dal processo di failover del nodo primario. |
Zeppelin |
Elevata disponibilità |
Zeppelin è installato su tutti e tre i nodi primari. Per impostazione predefinita, Zeppelin memorizza le note e le configurazioni degli interpreti per prevenire la perdita di dati. HDFS Le sessioni di interprete sono completamente isolate in tutte e tre le istanze primarie. I dati della sessione andranno persi in caso di errore principale. Si consiglia di non modificare la stessa nota contemporaneamente su istanze primarie diverse. |
ZooKeeper | Elevata disponibilità |
ZooKeeper è la base della funzionalità di failover automatico. HDFS ZooKeeper fornisce un servizio ad alta disponibilità per la gestione dei dati di coordinamento, la notifica ai clienti delle modifiche di tali dati e il monitoraggio dei client in caso di guasti. Per ulteriori informazioni, vedere failover HDFSautomatico |
Per eseguire le seguenti applicazioni in un EMR cluster Amazon con più nodi primari, devi configurare un database esterno. Il database esterno esiste al di fuori del cluster e rende i dati persistenti durante il processo di failover del nodo primario. Per le applicazioni seguenti, i componenti del servizio verranno ripristinati automaticamente durante il processo di failover del nodo primario, ma i processi attivi potrebbero non riuscire e dovranno essere riattivati.
Applicazione | Disponibilità durante il failover del nodo primario | Note |
---|---|---|
Hive | Disponibilità elevata solo per i componenti di servizio |
È necessario un metastore esterno per Hive. Questo deve essere un metastore SQL esterno My, poiché Postgre non SQL è supportato per i cluster multimaster. Per ulteriori informazioni, consulta Configurazione di un metastore esterno per Hive. |
Hue | Disponibilità elevata solo per i componenti di servizio |
È necessario un database esterno per Hue. Per ulteriori informazioni, consulta Usare Hue con un database remoto in Amazon RDS. |
Oozie |
Disponibilità elevata solo per i componenti di servizio |
È necessario un database esterno per Oozie. Per ulteriori informazioni, consulta Usare Oozie con un database remoto in Amazon RDS. Oozie-server e oozie-client sono installati su tutti e tre i nodi primari. I client oozie-sono configurati per connettersi al server oozie-corretto per impostazione predefinita. |
PrestoDB o Presto /Trino SQL |
Disponibilità elevata solo per i componenti di servizio |
È richiesto un metastore Hive esterno per PrestoDB (Presto SQL su Amazon EMR 6.1.0-6.3.0 o Trino su Amazon 6.4.0 e versioni successive). EMR Puoi usare Presto con il AWS Glue Data Catalog o usare un SQL database My esterno per Hive. Presto CLI è installato su tutti e tre i nodi primari, quindi è possibile utilizzarlo per accedere a Presto Coordinator da qualsiasi nodo primario. Presto Coordinator è installato su un solo nodo primario. Puoi trovare il DNS nome del nodo primario su cui è installato Presto Coordinator chiamando Amazon EMR |
Nota
Quando un nodo primario si guasta, Java Database Connectivity (JDBC) o Open Database Connectivity (ODBC) interrompe la connessione al nodo primario. Puoi connetterti a uno dei nodi primari rimanenti per continuare il lavoro dal momento che il daemon metastore Hive viene eseguito su tutti i nodi primari. In alternativa, puoi attendere che il nodo primario con errori venga sostituito.
Come funzionano EMR le funzionalità di Amazon in un cluster con più nodi primari
Connessione ai nodi primari tramite SSH
Puoi connetterti a uno qualsiasi dei tre nodi primari di un EMR cluster Amazon utilizzando lo stesso modo SSH in cui ti connetti a un singolo nodo primario. Per ulteriori informazioni, consulta Connect to the primary node using SSH.
Se un nodo primario si guasta, la SSH connessione a quel nodo primario termina. Per continuare il lavoro, puoi connetterti a uno degli altri due nodi primari. In alternativa, puoi accedere al nuovo nodo primario dopo che Amazon EMR ha sostituito quello guasto con uno nuovo.
Nota
L'indirizzo IP privato per il nodo primario sostitutivo rimane uguale a quello precedente. L'indirizzo IP pubblico per il nodo primario sostitutivo potrebbe cambiare. Puoi recuperare i nuovi indirizzi IP nella console o utilizzando il describe-cluster
comando in. AWS
CLI
NameNode viene eseguito solo su due dei nodi primari. Tuttavia, è possibile eseguire hdfs
CLI comandi e gestire processi per accedere HDFS a tutti e tre i nodi primari.
Utilizzo dei passaggi in un EMR cluster Amazon con più nodi primari
Puoi inviare passaggi a un EMR cluster Amazon con più nodi primari nello stesso modo in cui lavori con i passaggi in un cluster con un singolo nodo primario. Per ulteriori informazioni, consulta Invio di lavoro a un cluster.
Di seguito sono riportate alcune considerazioni sull'utilizzo dei passaggi in un EMR cluster Amazon con più nodi primari:
-
Se un nodo primario si guasta, i passaggi in esecuzione sul nodo primario sono contrassegnati comeFAILED. I dati scritti in locale andranno perduti. Tuttavia, lo stato FAILED potrebbe non riflettere lo stato reale dei passaggi.
-
Se una fase in esecuzione ha avviato un'YARNapplicazione quando si verifica un errore nel nodo primario, l'operazione può continuare e avere esito positivo grazie al failover automatico del nodo primario.
-
È consigliabile controllare lo stato delle fasi consultando l'output dei processi. Ad esempio, i MapReduce job utilizzano un
_SUCCESS
file per determinare se il processo viene completato correttamente. -
Si consiglia di impostare il ActionOnFailure parametro suCONTINUE, o CANCEL _ AND _WAIT, anziché su TERMINATE _ JOB _ FLOW o TERMINATE _CLUSTER.
Protezione da cessazione automatica
Amazon abilita EMR automaticamente la protezione dalla terminazione per tutti i cluster con più nodi primari e sostituisce tutte le impostazioni di esecuzione delle fasi fornite al momento della creazione del cluster. È possibile disattivare la protezione da cessazione dopo l'avvio del cluster. Per informazioni, consulta Configurazione della protezione da cessazione per i cluster in esecuzione. Per chiudere un cluster con più nodi primari, è necessario modificare gli attributi del cluster per disabilitare la protezione da terminazione. Per istruzioni, consulta Termina un EMR cluster Amazon con più nodi primari.
Per ulteriori informazioni sulla protezione da cessazione, consulta Utilizzo della protezione dalla terminazione per proteggere i EMR cluster Amazon da arresti accidentali.
Funzionalità non supportate in un EMR cluster Amazon con più nodi primari
Le seguenti EMR funzionalità di Amazon non sono attualmente disponibili in un EMR cluster Amazon con più nodi primari:
-
EMRNotebook
-
Accesso con un clic al server della cronologia Spark persistente
-
Interfacce utente delle applicazioni persistenti
-
L'accesso con un clic alle interfacce utente persistenti delle applicazioni non è attualmente disponibile per EMR i cluster Amazon con più nodi primari o per i EMR cluster Amazon integrati con Lake Formation. AWS
Nota
Per utilizzare l'autenticazione Kerberos nel tuo cluster, devi configurarne uno esterno. KDC
A partire dalla EMR versione 5.27.0 di Amazon, puoi configurare la crittografia HDFS Transparent su un EMR cluster Amazon con più nodi primari. Per ulteriori informazioni, consulta la sezione Crittografia trasparente HDFS in Amazon EMR.