gpt4 book ai didi

java - Hadoop使用Java递归地将fsPermission设置为dir

转载 作者:可可西里 更新时间:2023-11-01 14:20:48 26 4
gpt4 key购买 nike

您好,我有一个测试程序,可以将文件加载到此路径 user/user1/data/app/type/file.gz 的 hdfs 中。现在这个测试程序由多个用户运行多次。所以我想给rwx设置文件权限,这样任何人都可以删除这个文件。我有以下代码

fs.setPermission(new Path("user/user1/data"),new FsPermission(FsAction.ALL,FsAction.ALL,FsAction.ALL)) 

上一行将 drwxrwxrwx 授予所有目录,但对于 file.gz,它授予 -rw-r--r-- 权限,为什么这样呢?由于这个原因,除我之外的另一个用户无法通过测试程序删除此文件。我可以通过测试程序删除文件,因为我有完全权限。

请指导。我是 Hadoop 的新手。提前致谢。

最佳答案

使用 FsShell API 解决了我的目录权限问题。这可能不是最佳方式,但由于我正在为测试代码解决它,所以应该没问题。

      FsShell shell=new FsShell(conf);
try {
shell.run(new String[]{"-chmod","-R","777","user/usr1/data"});
}
catch ( Exception e) {
LOG.error("Couldnt change the file permissions ",e);
throw new IOException(e);
}

关于java - Hadoop使用Java递归地将fsPermission设置为dir,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26426228/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com