Dopo aver letto Apache Hadoop documentation, c'è una piccola confusione nel capire le responsabilità del nodo & controllo nodo punto secondarioHadoop 2,0 nome nodo, nodo secondario e il nodo Checkpoint per High Availability
Sono chiaro su NameNode ruolo e le responsabilità :
- i negozi NameNode modifiche al file system come un registro aggiunto a un file system nativo, edita. Quando si avvia un NameNode, legge lo stato HDFS da un file immagine, fsimage, quindi applica le modifiche dal file di registro delle modifiche. Quindi scrive il nuovo stato HDFS su fsimage e avvia il normale funzionamento con un file di modifiche vuoto. Poiché NameNode unisce fsimage e modifica i file solo durante l'avvio, il file di registro delle modifiche potrebbe diventare molto grande nel tempo su un cluster occupato. Un altro effetto collaterale di un file di modifiche più grande è che il prossimo riavvio di NameNode richiede più tempo.
ma ho una piccola confusione nella comprensione secondari NameNode & responsabilità Punto di controllo NameNode.
NameNode secondaria:
- Il NameNode secondario fonde il fsimage e le modifiche di registro periodicamente i file e mantiene le modifiche log dimensione entro un limite. Di solito viene eseguito su una macchina diversa rispetto al NameNode primario poiché i suoi requisiti di memoria sono nello stesso ordine del NameNode primario.
Controllare nodo punto:
- Il nodo Checkpoint crea periodicamente i punti di controllo dello spazio dei nomi. Scarica fsimage e modifiche dal NameNode attivo, le unisce a livello locale e carica la nuova immagine sul NameNode attivo. Il nodo Checkpoint di solito viene eseguito su una macchina diversa dal NameNode poiché i suoi requisiti di memoria sono nello stesso ordine del NameNode. Il nodo Checkpoint viene avviato da bin/hdfs namenode -checkpoint sul nodo specificato nel file di configurazione.
Sembra che la responsabilità tra Secondario NameNode & nodo Checkpoint non sono chiare. Entrambi stanno lavorando sulle modifiche. Quindi chi modificherà finalmente?
Su una nota diversa, ho creato due bug in jira per rimuovere l'ambiguità nella comprensione di questi concetti.
issues.apache.org/jira/browse/HDFS-8913
issues.apache.org/jira/browse/HDFS-8914
Sembra che Apache non abbia documentato correttamente la funzionalità. * * ThCommunication Protocols Tutti i protocolli di comunicazione HDFS sono sovrapposti al protocollo TCP/IP. Un client stabilisce una connessione a una porta TCP configurabile sulla macchina NameNode. Parla il ClientProtocol con il NameNode. I DataNodes comunicano con il NameNode utilizzando il Protocollo DataNode. Un'astrazione Remote Procedure Call (RPC) racchiude sia il protocollo client che il protocollo DataNode. In base alla progettazione, il NameNode non avvia mai alcun RPC. Invece, risponde solo alle richieste RPC emesse da DataNodes o client. –
Sono stati creati due bug in jara: https://issues.apache.org/jira/browse/HDFS-8914 e https://issues.apache.org/jira/browse/HDFS-8913. Spero di ottenere un contenuto migliore nella documentazione –
Contenuto proveniente da http://morrisjobke.de/2013/12/11/Hadoop-NameNode-and-siblings/ – Andrew