繁体   English   中英

如何在HDFS hadoop中从blockName中查找文件

[英]how to find file from blockName in HDFS hadoop

在给定块名称/ ID的情况下,在HDFS中查找与块关联的文件的最简单方法是什么

不确定何时引入但你可以这样做

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

假设您具有对所有文件的读访问权(并为目录执行),这是漫长而痛苦的方式:

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进行搜索,但您可以查看辅助名称节点的源,并查看它如何合并编辑 - 然后在辅助节点上保存输出的实验名称节点(而不是冒着在活动名称节点文件上工作的风险)。

祝好运!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM