使用使用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>]我确信命令语法是正确的,而且在从REST执行时,同样的命令也能正常工作。
需要一个解决办法。
发布于 2015-07-15 16:29:08
这是HDFS setfacl命令的正确语法。如果您是从cmd.exe运行的,那么如果命令行参数包含任何cmd.exe参数分隔符,则可能需要将它们包装在引号中。在cmd.exe中,参数分隔符是空格、逗号、分号和等号。ACL规范的语法包含逗号,所以我们需要用引号来包装它。否则,在调用Hadoop代码之前,cmd.exe会将其分解为多个参数,这就是为什么您会看到太多参数的错误。当我在Windows上运行这个程序时,它起了作用:
hadoop fs -setfacl --set "user::rwx,user:user1:---,group::rwx,other::rwx" /test1https://stackoverflow.com/questions/31422810
复制相似问题