[
https://issues.apache.org/jira/browse/HADOOP-4945?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
zhangwei updated HADOOP-4945:
-----------------------------
Attachment: HADOOP-4945.patch
I add the tool under the under the package "org.apache.hadoop.tools", and can be used by type:
$HADOOP_HOME/bin/hadoop blocktool -f <file or directory>
to fetch the block information of the file or directory, if the dest is directory it query recursively to fecth the file's info under the dir.
also you can get the block's info by type:
$HADOOP_HOME/bin/hadoop blocktool -b <block>
++++++++++++
the output style is below:
mode1:(get the file's block info)
$ ./hadoop blocktool -f /test/wordcount2/input/english_story.txt
/test/wordcount2/input/english_story.txt:
rw-r--r-- rep=3 root root 5230(blksize:268435456) 2008-12-24 14:15:24 english_story.txt
block detail: (#BlockName #OffSet #Len #Locations)
blk_155_1158 0 5230 jx-hadoop-data04.jx.baidu.com
--------
Dest can be dir yet:
$ ./hadoop blocktool -f /test/
/test/wordcount/input/english_story.txt:
rw-r--r-- rep=3 root root 5230(blksize:268435456) 2008-12-24 14:03:39 english_story.txt
block detail: (#BlockName #OffSet #Len #Locations)
blk_151_1153 0 5230 jx-hadoop-data04.jx.baidu.com
--------
/test/wordcount2/input/english_story.txt:
rw-r--r-- rep=3 root root 5230(blksize:268435456) 2008-12-24 14:15:24 english_story.txt
block detail: (#BlockName #OffSet #Len #Locations)
blk_155_1158 0 5230 jx-hadoop-data04.jx.baidu.com
--------
mode2:(get the block's info)
$ ./hadoop blocktool -b blk_155_1158
"//test/wordcount2/input/english_story.txt":root:root:rw-r--r--
Loaction of block:
jx-hadoop-data04.jx.baidu.com
Add BlockTool to query file and its block info
----------------------------------------------
Key: HADOOP-4945
URL:
https://issues.apache.org/jira/browse/HADOOP-4945Project: Hadoop Core
Issue Type: New Feature
Affects Versions: 0.21.0
Reporter: zhangwei
Attachments: HADOOP-4945.patch
The fsck can get the file's block detail,but when you want see which file or datanode the block belongs to ,it will be helpless.
The BlockTool will be helpfull in developing,for example when you happened to these message :
2008-12-25 12:12:10,049 WARN dfs.DataNode (DataNode.java:readBlock(901)) - Got exception while serving blk_28622148 to /10.7
3.4.101:
java.io.IOException: Block blk_28622148 is not valid.
at org.apache.hadoop.dfs.FSDataset.getBlockFile(FSDataset.java:541)
at org.apache.hadoop.dfs.DataNode$BlockSender.<init>(DataNode.java:1090)
at org.apache.hadoop.dfs.DataNode$DataXceiver.readBlock(DataNode.java:882)
at org.apache.hadoop.dfs.DataNode$DataXceiver.run(DataNode.java:840)
at java.lang.Thread.run(Thread.java:595)
the Blocktool may help you to get the location,it can get the file name and which datanodes hold the block.
Also it can get the file or directory 's block details too.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.