Sommario:
Video: Linux - Testing HPC (High Performance Computing Cluster) 2025
I nodi master nei cluster Hadoop distribuiti ospitano i vari servizi di gestione di archiviazione e elaborazione, descritti in questo elenco, per l'intero cluster Hadoop. La ridondanza è fondamentale per evitare singoli punti di errore, quindi vengono visualizzati due switch e tre nodi principali.
-
NameNode: Gestisce lo storage HDFS. Per garantire un'elevata disponibilità, hai sia un NameNode attivo che un NameNode standby. Ognuno funziona su un proprio nodo master dedicato.
-
Nodo Checkpoint (o nodo di backup): Fornisce checkpointing servizi per il NameNode. Ciò comporta la lettura del log di modifica del NameNode per le modifiche ai file in HDFS (file nuovi, eliminati e aggiunti) dall'ultimo checkpoint e la loro applicazione al file master del NameNode che mappa i file in blocchi di dati.
Inoltre, il nodo di backup conserva una copia dello spazio dei nomi del file system in memoria e lo mantiene sincronizzato con lo stato del NameNode. Per le distribuzioni ad alta disponibilità, non utilizzare un nodo checkpoint o un nodo di backup: utilizzare invece un NameNode in standby. Oltre a essere uno standby attivo per il NameNode, il NameNode di standby mantiene i servizi di checkpoint e mantiene una copia aggiornata dello spazio dei nomi del file system in memoria.
-
JournalNode: Riceve le modifiche del log di modifica che indicano le modifiche ai file in HDFS dal NameNode. Almeno tre servizi JournalNode (ed è sempre un numero dispari) devono essere eseguiti in un cluster e sono abbastanza leggeri da poter essere collocati insieme ad altri servizi sui nodi master.
-
Gestione risorse: Supervisiona la pianificazione delle attività dell'applicazione e la gestione delle risorse del cluster Hadoop. Questo servizio è il cuore di YARN.
-
JobTracker: Per i server Hadoop 1, gestisce la gestione e la programmazione delle risorse del cluster. Con YARN, JobTracker è obsoleto e non viene utilizzato. Un certo numero di implementazioni di Hadoop non è ancora migrato su Hadoop 2 e YARN.
-
HMaster: Controlla i server della regione HBase e gestisce tutte le modifiche ai metadati. Per garantire un'elevata disponibilità, assicurarsi di utilizzare una seconda istanza HMaster. Il servizio HMaster è abbastanza leggero da essere posizionato insieme ad altri servizi sui nodi master. In Hadoop 1, le istanze del servizio HMaster vengono eseguite su nodi master. In Hadoop 2, con Hoya (HBase su Yarn), le istanze di HMaster vengono eseguite in contenitori su nodi slave.
-
Zookeeper: Coordina i componenti distribuiti e fornisce meccanismi per mantenerli sincronizzati. Zookeeper viene utilizzato per rilevare l'errore del NameNode e scegliere un nuovo NameNode.Viene anche utilizzato con HBase per gestire gli stati di HMaster e RegionServers.
Come per il JournalNode, sono necessarie almeno tre istanze di nodi Zookeeper (e sempre un numero dispari), e sono abbastanza leggeri da essere collocati insieme ad altri servizi sui nodi master.
Qui, hai tre nodi principali (con lo stesso hardware), in cui i servizi chiave Active NameNode, Standby NameNode e Resource Manager hanno ciascuno un proprio server. Esistono anche i servizi JournalNode e Zookeeper in esecuzione su ciascun server, ma questi sono leggeri e non costituiranno una fonte di conflitto di risorse con i servizi NameNode e Resource Manager.
I principi sono gli stessi per Hadoop 1, in cui è necessario un nodo master dedicato per i servizi NameNode, Secondary NameNode e JobTracker.
Se prevedi di utilizzare HBase con Hoya in Hadoop 2, non hai bisogno di servizi aggiuntivi. Per le distribuzioni di Hadoop 1 che utilizzano HBase, consultare la seguente figura per la distribuzione dei servizi sui nodi master del cluster Hadoop.
Ci sono due differenze quando si confrontano questi server master con i server master Hadoop 1 senza supporto HBase: qui sono necessari due servizi HMaster (uno per coordinare HBase e uno per fungere da standby) e i servizi Zookeeper su tutti e tre i nodi principali gestire il failover.
Se si intende utilizzare il cluster Hadoop 1 solo per HBase, è possibile fare a meno del servizio JobTracker, poiché HBase non dipende dall'infrastruttura Hadoop 1 MapReduce.
Quando si parla di hardware per Hadoop, generalmente si enfatizza l'uso di componenti materie prime - quelli poco costosi. Dato che si devono scaricare solo pochi nodi master (in genere tre o quattro), non si viene colpiti moltiplicando i costi se, ad esempio, si decide di utilizzare costosi dischi rigidi.
Ricorda che, senza nodi master, non esiste un cluster Hadoop. I nodi master svolgono una funzione mission-critical e, anche se è necessaria la ridondanza, è necessario progettarli tenendo presente l'alta disponibilità e la resilienza.
Memoria consigliata
Per i nodi master Hadoop, indipendentemente dal numero di nodi slave o dagli usi del cluster, le caratteristiche di archiviazione sono coerenti. Utilizzare quattro unità SAS da 900 GB, insieme a un controller RAID HDD configurato per RAID 1 + 0. Le unità SAS sono più costose delle unità SATA e hanno una capacità di archiviazione inferiore, ma sono più veloci e molto più affidabili.
La distribuzione delle unità SAS come array RAID garantisce che i servizi di gestione Hadoop dispongano di un archivio ridondante per i propri dati mission-critical. Questo ti offre abbastanza storage stabile, veloce e ridondante per supportare la gestione del tuo cluster Hadoop.
Processori consigliati
Al momento della stesura di questo manuale, la maggior parte delle architetture di riferimento consiglia l'uso di schede madri con due socket CPU, ciascuno con sei o otto core. L'architettura Intel Ivy Bridge è comunemente usata.
Memoria consigliata
I requisiti di memoria variano considerevolmente in base alla scala di un cluster Hadoop.La memoria è un fattore critico per i nodi master Hadoop perché i server NameNode attivi e in standby dipendono in gran parte dalla RAM per gestire HDFS. Pertanto, utilizzare la memoria di correzione degli errori (ECC) per i nodi master Hadoop. In genere, i nodi master necessitano tra 64 GB e 128 GB di RAM.
Il requisito di memoria NameNode è una funzione diretta del numero di blocchi di file memorizzati in HDFS. Di norma, il NameNode utilizza circa 1 GB di RAM per milione di blocchi HDFS. (Ricordare che i file sono suddivisi in singoli blocchi e replicati in modo da avere tre copie di ciascun blocco.)
Le richieste di memoria dei server Resource Manager, HMaster, Zookeeper e JournalNode sono notevolmente inferiori rispetto al server NameNode. Tuttavia, è buona norma dimensionare i nodi master in modo coerente in modo che siano intercambiabili in caso di guasto dell'hardware.
Collegamento in rete consigliato
Le comunicazioni rapide sono fondamentali per i servizi sui nodi master, quindi è consigliabile utilizzare una coppia di connessioni 10GbE collegate. Questa coppia legata fornisce ridondanza, ma raddoppia anche il throughput a 20 GbE. Per cluster più piccoli (ad esempio, meno di 50 nodi) è possibile utilizzare i connettori 1 GbE.
