Spark:【error】远程调试 root:supergroup:drwxr-xr-x

Exception in thread "main" org.apache.hadoop.security.AccessControlException: Permission denied: user=xxxx, access=WRITE, inode="/test/out/_temporary/0":root:supergroup:drwxr-xr-x

.......................

解决方法

hadoop fs -chmod 777 /test

 

[root@hadoop2333229102 hive]# hive SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/root/hive/lib/log4j-slf4j-impl-2.6.2.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/usr/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory] Logging initialized using configuration in jar:file:/root/hive/lib/hive-common-2.3.7.jar!/hive-log4j2.properties Async: true Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases. hive> create database dblab; FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:Got exception: org.apache.hadoop.security.AccessControlException Permission denied: user=root, access=WRITE, inode="/user/hive/warehouse/dblab.db":hadoop:supergroup:drwxr-xr-x at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:319) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:292) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:213) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:190) at org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkPermission(FSDirectory.java:1728) at org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkPermission(FSDirectory.java:1712) at org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkAncestorAccess(FSDirectory.java:1695) at org.apache.hadoop.hdfs.server.namenode.FSDirMkdirOp.mkdirs(FSDirMkdirOp.java:71) at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.mkdirs(FSNamesystem.java:3896) at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.mkdirs(NameNodeRpcServer.java:984) at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.mkdirs(ClientNamenodeProtocolServerSideTranslatorPB.java:622) at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java) at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:616) at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:982) at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2049) at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2045) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1698) at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2043) )
09-22
在Hadoop文件系统(HDFS)中,权限表示方式 `drwxr-xr-x` 遵循Unix-like系统的文件权限表示规则,以下是对其含义的详细解释: ### 权限字符串结构 权限字符串 `drwxr-xr-x` 一共10个字符,可分为四部分: #### 1. 第一个字符:文件类型 - `d`:表示这是一个目录(directory)。如果是 `-`,则表示这是一个普通文件;`l` 表示符号链接等其他类型。 #### 2. 第2 - 4个字符(用户权限) - `rwx`:代表文件或目录的拥有者(owner)具有的权限。 - `r`(read):读权限,允许用户读取文件内容或列出目录中的文件。 - `w`(write):写权限,允许用户修改文件内容或在目录中创建、删除文件。 - `x`(execute):执行权限,对于文件来说允许用户执行该文件;对于目录来说允许用户进入该目录。 #### 3. 第5 - 7个字符(用户组权限) - `r-x`:代表文件或目录所属用户组(group)具有的权限。 - `r`:读权限,允许用户组中的用户读取文件内容或列出目录中的文件。 - `-`:没有写权限,用户组中的用户不能修改文件内容或在目录中创建、删除文件。 - `x`:执行权限,允许用户组中的用户进入该目录。 #### 4. 第8 - 10个字符(其他用户权限) - `r-x`:代表除了拥有者和所属用户组之外的其他用户(others)具有的权限。 - `r`:读权限,允许其他用户读取文件内容或列出目录中的文件。 - `-`:没有写权限,其他用户不能修改文件内容或在目录中创建、删除文件。 - `x`:执行权限,允许其他用户进入该目录。 ### 相关信息 当Hadoop中的 `supergroup` 用户组下的文件或目录具有 `drwxr-xr-x` 权限时: - 该目录的拥有者可以自由地读取、写入和进入该目录。 - `supergroup` 用户组的成员可以读取该目录下的文件列表,并且可以进入该目录,但不能在该目录下创建、删除或修改文件。 - 其他用户也可以读取该目录下的文件列表并进入该目录,但同样不能进行写操作。 ### 示例代码 在Hadoop命令行中,可以使用 `hdfs dfs -ls` 命令查看文件或目录的权限: ```bash hdfs dfs -ls /path/to/directory ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值