ブロック名/IDを指定してHDFSのブロックに関連付けられたファイルを見つける最も簡単な方法は何ですか?
質問する
11302 次
3 に答える
11
すべてのファイルへの読み取りアクセス権がある(そしてディレクトリに対して実行する)と仮定すると、長くて苦痛な方法です。
hadoop fsck / -files -blocks | grep blk_520275863902385418_1002 -B 20
次に、ブロックマッチから前のファイル名にスキャンバックします。
/hadoop/mapred/system/jobtracker.info 4 bytes, 1 block(s): OK
0. blk_520275863902385418_1002 len=4 repl=1
この場合、blk_5202...は/hadoop/mapred/system/jobtracker.info
ファイルの一部です
プログラム的には、これらはブロックIDで検索できる名前ノードへのインターフェイスではありませんが、セカンダリ名前ノードのソースを調べて、編集がどのように統合されるかを確認できます。次に、セカンダリから保存された出力を試してください。名前ノード(ライブの名前ノードファイルで作業するリスクを冒すのではなく)。
幸運を!
于 2012-06-05T01:22:47.557 に答える
2
Option 1: the suffix .meta
is needed if using the blockId with generationStamp
$ hdfs fsck -blockId blk_1073823706_82968.meta
Option 2: use the blockId without generationStamp
$ hdfs fsck -blockId blk_1073823706
于 2021-09-22T12:55:11.980 に答える