【问题标题】:Get file inode during the file change owner in HDFS Hadoop?在 HDFS Hadoop 中的文件更改所有者期间获取文件 inode?
【发布时间】:2013-05-19 15:46:45
【问题描述】:

如何在活动文件中获取文件 INode?例如:

在客户端类型命令下如下:

./hadoop fs -chown -R hadoop:hadoop hdfs://nn:9000/A1.txt

文件更改所有者操作过程中如何获取“A1.txt”文件INode?​​p>

谢谢!


感谢 Harsh J 的以下回答。我知道 API。让我换一种说法:如果我想在文件 inode 中添加一些东西,如何获得指向活动文件 inode 的指针?非常感谢。


感谢 Harsh J 的回答。我知道 API。 让我换个方式说:

如果我想在文件 inode 中添加一些内容,如何获取指向活动文件 inode 的指针?非常感谢。

【问题讨论】:

  • 感谢 Harsh J 的回答。我知道 API。让我换一种说法:如果我想在文件 inode 中添加一些东西,如何获得指向活动文件 inode 的指针?非常感谢。

标签: hadoop hdfs


【解决方案1】:

鉴于不清楚的问题,我假设您在 HDFS 中查找给定文件的详细信息,以及其所有元数据(例如 mtime、atime、所有者等)。

HDFS API 以FileStatus 对象的形式为客户端提供内部INode 的表示。这也是几乎所有hadoop fs 子命令检索和使用的对象。

为您的 HDFS 实例使用适当的 Java API,您可以为您的 hdfs://nn:9000/A1.txt 路径检索一个 FileStatus 对象。一个示例 sn-p 如下所示:

Path path = new Path("hdfs://nn:9000/A1.txt");
FileStatus inode = path.getFileSystem(new Configuration())
                       .getFileStatus(path);
// Use inode's information as desired.
// An example to print owner:
System.out.println(inode.getOwner());

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-14
    • 2015-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多