2017-01-24 2 views
1

J'ai le dossier datanode, namenode et le namenode secondaire (avec toutes les données ou informations à l'intérieur) d'une installation hadoop différente.Hadoop Restauration à partir des fichiers namenode et datanode

Ma question est, comment pouvez-vous voir ce qui est là ou l'ajouter à votre HDFS local pour voir les données ou les informations.

Il peut y avoir un moyen de le restaurer ou quelque chose, mais je ne trouve aucune information à ce sujet.

L'arborescence des dossiers est comme ceci:

Pour NameNode & SecondaryNamenode:

data/dfs/name 
├── current 
│ ├── VERSION 
│ ├── edits_0000000000000000001-0000000000000000007 
│ ├── edits_0000000000000000008-0000000000000000015 
│ ├── edits_0000000000000000016-0000000000000000022 
│ ├── edits_0000000000000000023-0000000000000000029 
│ ├── edits_0000000000000000030-0000000000000000030 
│ ├── edits_0000000000000000031-0000000000000000031 
│ ├── edits_inprogress_0000000000000000032 
│ ├── fsimage_0000000000000000030 
│ ├── fsimage_0000000000000000030.md5 
│ ├── fsimage_0000000000000000031 
│ ├── fsimage_0000000000000000031.md5 
│ └── seen_txid 

Et pour DataNode:

data/dfs/data/ 
├── current 
│ ├── BP-1079595417-192.168.2.45-1412613236271 
│ │ ├── current 
│ │ │ ├── VERSION 
│ │ │ ├── finalized 
│ │ │ │ └── subdir0 
│ │ │ │ └── subdir1 
│ │ │ │ ├── blk_1073741825 
│ │ │ │ └── blk_1073741825_1001.meta 
│ │ │ │── lazyPersist 
│ │ │ └── rbw 
│ │ ├── dncp_block_verification.log.curr 
│ │ ├── dncp_block_verification.log.prev 
│ │ └── tmp 
│ └── VERSION 

Merci à l'avance.

Répondre

1

La solution standard pour copier des données entre différents clusters Hadoop consiste à exécuter la commande DistCp pour exécuter une copie distribuée des fichiers souhaités de la source à la destination. En supposant que l'autre cluster ne fonctionne plus et que vous ne disposez que de ces fichiers de sauvegarde, il est possible de restaurer en copiant les fichiers que vous avez dans les répertoires utilisés par le nouveau cluster Hadoop. Ces emplacements seront spécifiés dans les propriétés de configuration dans hdfs-site.xml: dfs.namenode.name.dir pour le NameNode (votre répertoire data/dfs/name) et dfs.datanode.data.dir pour DataNode (votre répertoire data/dfs/data).

Veuillez noter que cela ne fonctionnera probablement que si vous exécutez la même version de Hadoop à partir du déploiement précédent. Sinon, il pourrait y avoir un problème de compatibilité. Si vous essayez d'exécuter une version plus ancienne, le NameNode ne pourra pas démarrer. Si vous essayez d'exécuter une version plus récente, vous devrez peut-être d'abord effectuer un processus de mise à niveau en exécutant hdfs namenode -upgrade.

Une autre option si vous avez juste besoin de regarder les métadonnées du système de fichiers est d'utiliser les commandes Offline Image Viewer et Offline Edits Viewer. Ces commandes peuvent décoder et parcourir les fichiers image fs et édite respectivement.

+0

Merci beaucoup, votre réponse est meilleure que ce à quoi je m'attendais. Je vois que vous êtes un expert en Hadoop, merci pour la réponse. Bien que je ne puisse pas exécuter la commande ./hdfs oiv -i $ HADOOP_HOME/namenode/current/fsimage -o fsimage.txt correctement, peut-être que j'ai besoin de rechercher plus sur la commande. Sincères amitiés – PeterPa1va