2014-04-20 11 views
5

Sono un programmatore java, sto imparando Hadoop. Ho letto che il nodo Nome in HDFS memorizza le sue informazioni in due file cioè fsImage & editLog. In caso di avvio legge questi dati dal disco & esegue il checkpoint.Dove si trova il nodo Nome archivio fsImage e modifica registro?

Ma in molti punti ho anche letto che Nome nodo memorizza i dati nella RAM & è per questo che apache consiglia una macchina con RAM elevata per il server Node Name.

Per favore mi illumini su questo. Quali dati memorizza nella RAM & dove memorizza fsImage e modifica Log?

Scusate se ho chiesto qualcosa di ovvio.

risposta

5

Lasciatemi prima risposta

Quali dati si memorizza nella RAM & dove viene memorizzare fsImage e Registro modifiche?

In RAM - file per bloccare e bloccare la mappatura del nodo dati. In archivio persistente (include sia il log di modifica che il file fsimage) - metadati relativi ai file (autorizzazioni, nome e così via)

Per quanto riguarda la posizione di memorizzazione di fsimage e editlog @ la risposta di mashuai è azzeccata.

Per una discussione più dettagliata si può leggere su this

3

Memorizza fsimage e editlog in dfs.name.dir, è in hdfs-site.xml. Quando si avvia il cluster, NameNode carica fsimage e editlog nella memoria.

4

Quando NameNode avvia, carichi fsimage dalla memoria permanente (disco) la posizione specificata dalla proprietà dfs.name.dir (hadoop-1.x) o dfs.namenode.name.dir (hadoop-2.x) in hdfs-site.xml. Fsimage viene caricato nella memoria principale. Inoltre, come richiesto durante l'avvio del namenode, esegue l'operazione di check point. Namenode mantiene il Fsimage nella RAM inorder per servire velocemente le richieste.

Oltre al punto di controllo iniziale, i checkpoint successivi possono essere controllati sintonizzando i seguenti parametri in hdfs-site.xml.

dfs.namenode.checkpoint.period  # in second 3600 Secs by default 
dfs.namenode.checkpoint.txns   # No of namenode transactions 
0

Fsimage e editlog sono memorizzati in dfs.name.dir, è in HDFS-site.xml. Durante l'avvio del cluster, NameNode carica fsimage e editlog nella memoria (RAM).

0

All'avvio del nome del nodo, passa in modalità provvisoria. Carica FSImage dall'archiviazione permanente e riproduce i log di modifica per creare una vista aggiornata dell'archivio HDFS (FILE TO BLOCK MAPPING). Quindi scrive questo FSImage aggiornato sullo storage persistente. Ora il nodo del nome attende i report dei blocchi dai nodi dei dati. Dai report dei blocchi crea BLOCCO PER MAPPAGGIO DEI NODI DATI. Quando il nodo del nome riceve una determinata soglia di report di blocco, esce dalla modalità provvisoria e il Nodo del nome può iniziare a servire le richieste del client. Ogni volta che si modificano i metadati eseguiti dal client, NameNode (NN) prima modifica le cose nel segmento del registro di modifica con l'aumento dell'ID transazione nella memoria permanente (disco rigido). Quindi aggiorna FSImage presente nella sua RAM.

+0

Si prega di consultare questo primo [come risposta] (https://stackoverflow.com/help/how-to-answer) –