hdfs dfs -setfacl 在 Azure Data Lake Store 上失败
Posted
技术标签:
【中文标题】hdfs dfs -setfacl 在 Azure Data Lake Store 上失败【英文标题】:hdfs dfs -setfacl fails on Azure Data Lake Store 【发布时间】:2019-10-24 13:19:49 【问题描述】:我正在尝试使用以下命令从 HDInsight 3.6 群集更改位于 Azure Data Lake Store Gen 1 中的文件的访问控制列表:
hdfs dfs -setfacl -m user:d7de0903-abcabc-44c1-8f1c-31311f5caa69:r-x adl://<myadls>.azuredatalakestore.net/user/pics/sammple.jpeg
它失败了:
-setfacl: Fatal internal error
java.lang.NullPointerException
at
org.apache.hadoop.fs.adl.HdiAdlFileSystem.shouldUseDaemonUserOrGroup(Unknown Source)
at
org.apache.hadoop.fs.adl.HdiAdlFileSystem.getEffectiveAclEntries(Unknown Source)
at org.apache.hadoop.fs.adl.HdiAdlFileSystem.modifyAclEntries(Unknown Source)
at
org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand.processPath(AclCommands.java:240)
at org.apache.hadoop.fs.shell.Command.processPaths(Command.java:317)
at
org.apache.hadoop.fs.shell.Command.processPathArgument(Command.java:289)
at org.apache.hadoop.fs.shell.Command.processArgument(Command.java:271)
at org.apache.hadoop.fs.shell.Command.processArguments(Command.java:255)
at
org.apache.hadoop.fs.shell.FsCommand.processRawArguments(FsCommand.java:119)
at org.apache.hadoop.fs.shell.Command.run(Command.java:165)
at org.apache.hadoop.fs.FsShell.run(FsShell.java:297)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:90)
at org.apache.hadoop.fs.FsShell.main(FsShell.java:356)
作为
hdfs dfs -getfacl adl://<myadls>.azuredatalakestore.net/user/pics/sample.jpeg
工作正常我想知道是否需要 ESP(企业安全包)配置。
【问题讨论】:
【参考方案1】:您可以尝试以下步骤在 Azure Data Lake Gen1 上设置 acls,如下所示。
之前:获取ADLS文件夹示例和user:bd04d6b3-xxx-xxxx-xxxx-3e30e6c99f3c:r--
的acls
hdfs dfs -getfacl adl://<adlsname>.azuredatalakestore.net/clusters/example
在 ADLS 上设置 ACL: 使用以下命令为特定用户设置 acl,如下所示:
hdfs dfs -setfacl -m user:bd04d6b3-xxxx-xxxx-xxxx--3e30e6c99f3c:rwx adl://<adlsname>.azuredatalakestore.net/clusters/example
之后:现在您可以注意到 acl 发生了变化。
希望这会有所帮助。
【讨论】:
谢谢!这正是我所做的,但我得到了错误。您的集群是否配置了 ESP? 它不是 ESP 集群,但您也可以在 ESP 集群上进行配置。以上是关于hdfs dfs -setfacl 在 Azure Data Lake Store 上失败的主要内容,如果未能解决你的问题,请参考以下文章
何时使用hadoop fs,hadoop dfs与hdfs dfs命令