2012-06-04 29 views

回答

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 ...是的一部分文件

以编程方式,这些不是名称节点的接口,它允许您通过块ID进行搜索,但可以查看次要名称节点的来源并查看它如何合并编辑 - 然后试验来自辅助名称节点的已保存输出(而不是在活动名称节点文件上工作的风险)。

祝你好运!

5

不知道什么时候这个被介绍,但你可以做到这一点

hdfs fsck -blockId <block_id> 

hdfs fsck -blockId blk_1100790203 
Connecting to namenode 
FSCK started by hdfs 

Block Id: blk_1100790203 
Block belongs to: /common/FFL1447685899336.txt