2014-06-09 22 views
6

Sto provando il ripristino dei metadati NN. Ho preso il backup dei meta dati del nodo Namenode e Journal. Contiene log di modifica e fsimages.Nome Hadoop Ripristino del nodo dal backup dei metadati

Ci sono due NN nel mio sistema. Prendo il backup dei metadati su entrambi gli NN (metadati dei metadati & QJM di hdf) a frequenza regolare. Voglio testare la procedura di recupero nel peggiore dei casi. Supponiamo che entrambi i NN e il nodo Journal non siano attivi con i metadati completamente eliminati.

Desidero recuperare i metadati NN dal backup e avviare NN. So che potrebbe esserci una perdita di dati in quanto mancano le ultime modifiche apportate dopo il backup.

Domande:

  1. pensi che un tale scenario è possibile/fattibile?
  2. Sono di fronte a problemi relativi alla mancata corrispondenza id txn, id txn commesso. Si prega di dire se c'è una soluzione per lo stesso.

Passi provato:

  1. di backup Prendere metadati di NN e QJM. Esegui alcune operazioni sui file hdfs (crea nuovi file).
  2. Arrestare il nodo NN e Journal su entrambe le macchine.
  3. Elimina metadati da/data/hdfs e directory di diario.
  4. Ripristina Fsimages dal backup (preso un po 'di tempo indietro).
  5. Inizio NN. Fallisce con un'eccezione inferiore.

approccio alternativo: Ripristina tutti i registri di modifica e fsimage sia ai HDFS e directory qjm e iniziare NN, ma ancora non riesce.

Entrambi gli NN sono giù e non riesco a richiamare. Non voglio formattare hdf in quanto cambierà l'ID Cluster e il backup non sarà utilizzabile.

Eccezioni:

  1. Ci sembra essere una lacuna nel registro delle modifiche. Ci aspettavamo TxID 71453, ma abbiamo ottenuto TxID 71466
  2. cliente cercando di spostare TxID impegnata a ritroso da 71599 a 71453
  3. recoverUnfinalizedSegments fallito per journal necessario. Ha deciso di sincronizzare i log per startTxId: 71453 ma logger 10.204.64.26:8485 aveva visto TxID 71599 commesso

risposta

1

Si può iniziare con NameNode recuperare la bandiera abilitato. Il recupero del Namenode si prenderà cura dei maetadata corrotti.

./bin/hadoop namenode -recover 
0

Avvia tutto il JournalNode. Assicurati di aver copiato fsimage, fsimage.md5 e il file VERSION. Quindi esegui hdfs namenode -initializeSharedEdits -force, formatterà solo JournalNode. Quindi avviare NameNode (1). Dovrebbe funzionare. Fammi sapere, se non funziona.

1
  1. Perché l'ultima FsImage e modifica è stato perso o danneggiato, si dovrebbe cercare di recupero dei metadati

    ./bin/hadoop namenode -recover

    consultare: NameNode Recovery Tools for the Hadoop Distributed File System

  2. Perché la rivista non è la sincronizzazione con il namenode, dovresti reinizializzarlo

    ./bin/hdfs namenode -initializeSharedEdits

  3. Perché la FsImage recuperato ha perso gli ultimi dati l'aggiornamento dall'ultimo backup, è necessario controllare ed eliminare i dati danneggiati

    ./bin/hadoop fsck -delete /

    Se non si esegue fsck, il NameNode può essere bloccato in modalità sicura, per troppi blocchi non responsivi.

Problemi correlati