Java Hadoop FileSystem.mkdirs(路径,权限)忽略该权限

Java Hadoop FileSystem.mkdirs(路径,权限)忽略该权限,java,hadoop,hdfs,Java,Hadoop,Hdfs,我试图以编程方式在hdfs中创建目录。我需要为所有用户编写目录。所以我试着像这样把经验传递给MKDIR: Path dir = new Path("/tmp/mkdir-test"); fileSystem.mkdirs(dir, new FsPermission(FsAction.ALL, FsAction.ALL, FsAction.ALL)); 但是,结果是我使用drwxr-xr-x权限获取目录。这似乎不是什么总体权限问题,因为如果我在下一行明确设置它们: // For some

我试图以编程方式在hdfs中创建目录。我需要为所有用户编写目录。所以我试着像这样把经验传递给MKDIR:

Path dir = new Path("/tmp/mkdir-test");    
fileSystem.mkdirs(dir, new FsPermission(FsAction.ALL, FsAction.ALL, FsAction.ALL));
但是,结果是我使用
drwxr-xr-x
权限获取目录。这似乎不是什么总体权限问题,因为如果我在下一行明确设置它们:

// For some reason the initial permissions are ignored
fileSystem.setPermission(dir, new FsPermission(FsAction.ALL, FsAction.ALL, FsAction.ALL));
该目录按预期以
drwxrwxrwx
正确结束


为什么传递给
mkdirs
的权限没有得到尊重?

尽管实际方法的javadoc没有提及任何内容,但是有一个静态方法
FileSystem.mkdirs(FileSystem,Path,FsPermission)
提供了一些解释:

使用提供的权限创建目录。 政府的许可 目录设置为提供的权限,如setPermission中所述, 不允许&~umask

因此,标准
mkdirs
使用umask获得给定的权限

静态实用程序方法作为
mkdirs
setPermission