2017-01-24 8 views
1

У меня есть папка datanode, namenode и вторичного namenode (со всеми данными или информацией внутри) с другой установки hadoop.Hadoop Restore from namenode and datanode files

Вопрос в том, как вы можете видеть, что там есть, или добавить его в местный HDFS, чтобы увидеть данные или информацию.

Может быть способ его восстановить или что-то в этом роде, но я не могу найти информацию об этом.

Папка дерево выглядит так:

Для 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 

И 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 

Спасибо заранее.

ответ

1

Стандартное решение для копирования данных между различными кластерами Hadoop состоит в том, чтобы запустить команду DistCp для выполнения распределенной копии желаемых файлов из источника в пункт назначения.

Предполагая, что другой кластер больше не работает, и у вас есть только эти файлы резервных копий, тогда его можно восстановить, скопировав файлы, которые у вас есть, в каталоги, используемые новым кластером Hadoop. Эти местоположения будут указаны в свойствах конфигурации в hdfs-site.xml: dfs.namenode.name.dir для NameNode (ваш каталог данных/dfs/name) и dfs.datanode.data.dir для DataNode (каталог данных/dfs/data).

Обратите внимание, что это, скорее всего, будет работать только в том случае, если вы используете ту же версию Hadoop, что и в предыдущем развертывании. В противном случае может возникнуть проблема совместимости. Если вы попытаетесь запустить более старую версию, то NameNode не запустится. Если вы попытаетесь запустить более новую версию, вам может потребоваться сначала пройти процесс обновления, запустив hdfs namenode -upgrade.

Еще один вариант, если вам просто нужно посмотреть метаданные файловой системы, - использовать команды Offline Image Viewer и Offline Edits Viewer. Эти команды могут декодировать и просматривать файлы fsimage и edits соответственно.

+0

Большое вам спасибо, ваш ответ лучше, чем я ожидал получить. Я вижу, что вы специалист в Hadoop, спасибо за ответ. Хотя я не смог выполнить команду ./hdfs oiv -i $ HADOOP_HOME/namenode/current/fsimage -o fsimage.txt, возможно, мне нужно больше узнать о команде. С уважением – PeterPa1va