Video: Hadoop Processing Frameworks 2024
Spesso nell'infanzia di Hadoop, una grande quantità di discussioni era centrata sulla rappresentazione del NameNode di un singolo punto di errore. Hadoop, nel complesso, ha sempre avuto un'architettura robusta e tollerante ai guasti, con l'eccezione di questa area chiave. Senza il NameNode, non esiste un cluster Hadoop.
Usando Hadoop 2, è possibile configurare HDFS in modo che ci sia un NameNode attivo e un NameNode Standby. Il NameNode di standby deve trovarsi su un nodo master dedicato configurato in modo identico al nodo master utilizzato da ActiveName.
Il NameNode di Standby non è inattivo mentre il NameNode gestisce tutte le richieste di indirizzo del blocco. Il NameNode in standby, incaricato di mantenere lo stato delle posizioni dei blocchi e bloccare i metadati in memoria, gestisce le responsabilità di checkpoint di HDFS.
Active NameNode scrive le voci del diario sulle modifiche ai file della maggior parte dei servizi JournalNode, che vengono eseguiti sui nodi master. ( Nota: La soluzione di disponibilità elevata HDFS richiede almeno tre nodi principali e, se ce ne sono altri, può esserci solo un numero dispari.)
Se si verifica un errore, il nodo di attesa prima legge tutte le voci di giornale completate (in cui la maggior parte dei nodi di giornale ha una voce, in altre parole) per assicurare che il nuovo nome attivo sia pienamente coerente con lo stato del cluster.
Zookeeper viene utilizzato per monitorare ActiveNomeNode e gestire la logistica di failover se ActiveNomeNode diventa non disponibile. Sia i NameNode attivi che quelli in standby dispongono di controller di failover Zookeeper dedicati (ZFC) che eseguono le attività di monitoraggio e failover. In caso di errore, lo ZFC informa le istanze Zookeeper sul cluster, che quindi eleggono un nuovo NameNode attivo.
Apache Zookeeper fornisce servizi di coordinamento e configurazione per sistemi distribuiti, quindi non c'è da meravigliarsi se li vediamo utilizzati in tutta la posizione in Hadoop.