2017-01-24 26 views
1

私は、異なるhadoopインストールからのdatanode、namenode、およびsecondary namenodeフォルダ(すべてのデータまたは情報あり)を持っています。namenodeとdatanodeファイルからのHadoop復元

私の質問は、あなたがそこに何があるかを見たり、あなたのローカルHDFSにデータや情報を見るためにそれを追加する方法です。

復元する方法がありますが、それに関する情報は見つかりません。

フォルダツリーはこのようなものです:

名前ノード& 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 

そして、データノードのために:事前に

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コマンドを実行して、ソースからデスティネーションまでの目的のファイルの分散コピーを実行することです。

もう1つのクラスタが実行されておらず、これらのバックアップファイルしかないと仮定すると、新しいHadoopクラスタで使用されているディレクトリにあるファイルをコピーすることで復元できます。これらの場所は、NameNode(your data/dfs/nameディレクトリ)の場合はhdfs-site.xml:dfs.namenode.name.dir、DataNodeの場合はdfs.datanode.data.dir(your data/dfs/dataディレクトリ)の構成プロパティで指定されます。

これは、以前のデプロイメントと同じバージョンのHadoopを実行する場合にのみ有効です。そうしないと、互換性の問題が生じる可能性があります。古いバージョンを実行しようとすると、NameNodeが開始されません。新しいバージョンを実行しようとすると、最初にhdfs namenode -upgradeを実行してアップグレードプロセスを実行する必要があります。

ファイルシステムのメタデータを調べる必要がある場合は、Offline Image ViewerおよびOffline Edits Viewerコマンドを使用することです。これらのコマンドは、それぞれfsimageとeditファイルをデコードし、ブラウズすることができます。

+0

ありがとう、あなたの答えは私が受け取るよりも優れています。あなたがHadoopの専門家であることがわかりました。答えに感謝します。私は./hdfs oiv -i $ HADOOP_HOME/namenode/current/fsimage -o fsimage.txtコマンドを正しく実行できませんでしたが、おそらく私はこのコマンドについてさらに検索する必要があります。敬具 – PeterPa1va

関連する問題