hadoop setfacl--设置不起作用

flseospp  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(420)

使用由kerberos保护的hadoop-2.6.0。尝试使用以下命令为目录设置acl
命令

hadoop fs -setfacl --set user::rwx,user:user1:---,group::rwx,other::rwx /test1

它给出的信息是“太多的论据”
错误

-setfacl: Too many arguments
Usage: hadoop fs [generic options] -setfacl [-R] [{-b|-k} {-m|-x <acl_spec>} <path>]|[--set <acl_spec> <path>]

我确信命令语法是正确的,而且当从restapi执行时,同样的命令也可以正常工作。
需要一个解决方案。

kfgdxczn

kfgdxczn1#

这是hdfs setfacl命令的正确语法。如果您是从windows cmd.exe运行的,那么如果命令行参数包含任何cmd.exe参数分隔符,则可能需要将其括在引号中。在cmd.exe中,参数分隔符是空格、逗号、分号和等号。acl规范的语法包含逗号,因此我们需要将其括在引号中。否则,cmd.exe会在调用hadoop代码之前将其拆分为多个参数,这就是为什么您会看到参数过多的错误。当我在windows上运行时,它起了作用:

hadoop fs -setfacl --set "user::rwx,user:user1:---,group::rwx,other::rwx" /test1

相关问题