hadoop - Hadoop 中的 AccessControlException for access=EXECUTE

标签 hadoop hdfs execute accesscontrolexception

我有一个小应用程序,它从我的本地机器读取文件并将数据写入 hdfs。

现在我想列出 hdfs 文件夹中的文件,比如 HadoopTest。当我尝试这样做时,出现以下异常:

org.apache.hadoop.security.AccessControlException: Permission denied: user=rpoornima, access=EXECUTE, inode="/hbase/HadoopTest/Hadoop_File_1.txt":rpoornima:hbase:-rw-r--r--
    at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:205)
    at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkTraverse(FSPermissionChecker.java:161)
    at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:128)
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkPermission(FSNamesystem.java:4547)
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkTraverse(FSNamesystem.java:4523)
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getListingInt(FSNamesystem.java:3312)
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getListing(FSNamesystem.java:3289)
    at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.getListing(NameNodeRpcServer.java:652)
    at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.getListing(ClientNamenodeProtocolServerSideTranslatorPB.java:431)
    at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java:44098)
    at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:453)
    at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:898)
    at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1693)
    at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1689)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:396)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1332)
    at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1687)

我不确定如何解决这个问题。请给你意见。

最佳答案

您的异常足以说明问题。

如异常所说

Permission denied: user=rpoornima, access=EXECUTE,
inode="/hbase/HadoopTest/Hadoop_File_1.txt":rpoornima:hbase:-rw-r--r--`

这意味着您的帐户 rpoornima 对文件 只有 -rw-r--r-- 权限(没有执行) >/hbase/HadoopTest/Hadoop_File_1.txt。所以你必须使用另一个完全权限帐户来执行。


更新

如果你想给指定的用户访问权限。使用chmod命令。

chown

Usage: hadoop fs -chown [-R] [OWNER][:[GROUP]] URI [URI ]

Change the owner of files. The user must be a super-user. Additional information is in the Permissions Guide.

Options

The -R option will make the change recursively through the directory structure.

关于hadoop - Hadoop 中的 AccessControlException for access=EXECUTE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32219631/

相关文章:

java - 如何通过 hadoop mapreduce 作业访问 windows/unix 目录中的文本文件

scala - 使用文件系统在Scala中将数据从本地复制到远程hdfs位置时,hadoop权限被拒绝

python - 使用来自 linux shell 的变量执行 python 脚本

java - 使用java从e​​clipse运行Mac OSX命令

hadoop - 更改hadoop映射中的默认定界符

hadoop - Pig - 分组后 MAX 不工作

Hadoop 高可用性不工作

apache-spark - Spark写入HDFS速度很慢

c - 执行的shellcode终止主程序

windows - Pig 0.13.0 在 Windows 8 上的安装