ClientProtocol namenode = DFSClient.createNamenode(conf);
HdfsFileStatus hfs = namenode.getFileInfo("your_hdfs_file_name");
LocatedBlocks lbs = namenode.getBlockLocations("your_hdfs_file_name", 0,
hfs.getLen());

for (LocatedBlock lb : lbs.getLocatedBlocks()) {
  DatanodeInfo[]  info = lb.getLocations() ;
  //you can get data node name or address here.
}


On Tue, Jun 4, 2013 at 2:02 PM, Mahmood Naderan <nt_mahm...@yahoo.com>wrote:

> >hadoop fsck mytext.txt -files -locations -blocks
>
>
> I expect something like a tag which is attached to each block (say block
> X) that shows the position of the replicated block of X. The method you
> mentioned is a user level task. Am I right?
>
> Regards,
> Mahmood*
> *
>
>   ------------------------------
>  *From:* Rahul Bhattacharjee <rahul.rec....@gmail.com>
> *To:* "user@hadoop.apache.org" <user@hadoop.apache.org>; 一凡 李 <
> zhuazhua_...@yahoo.com.cn>
> *Sent:* Tuesday, June 4, 2013 9:34 AM
> *Subject:* Re: how to locate the replicas of a file in HDFS?
>
> hadoop fsck mytext.txt -files -locations -blocks
>
> Thanks,
> Rahul
>
>
>
> On Tue, Jun 4, 2013 at 10:19 AM, 一凡 李 <zhuazhua_...@yahoo.com.cn> wrote:
>
> Hi,
>
> Could you tell me how to locate where store each replica of a file in HDFS?
>
> Correctly speaking, if I create a file in HDFS(replicate factor:3),how to
> find the DataNodes which store its each block and replicas?
>
>
> Best Wishes,
> Yifan
> ____________________
>
>
>
>
>

Reply via email to