Hadoop的Job执行MR的时候抛AccessControlException异常,详情如下:
org.apache.hadoop.hdfs.DFSClient: Short circuit access failed org.apache.hadoop.security.AccessControlException: org.apache.hadoop.security.AccessControlException: Can't continue with getBlockLocalPathInfo() authorization. The user XXX is not allowed to call getBlockLocalPathInfo at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
产生问题的原因定位:
org.apache.hadoop.hdfs.server.datanode.DataNode; public BlockLocalPathInfo getBlockLocalPathInfo(Block block, Token<BlockTokenIdentifier> token) throws IOException ;
具体的执行如下:
private boolean shouldTryShortCircuitRead(InetSocketAddress targetAddr) throws IOException { if (shortCircuitLocalReads && isLocalAddress(targetAddr)) { return true; } return false; }
1.读取DFSConfigKeys.DFS_CLIENT_READ_SHORTCIRCUIT_KEY对应的值如果是true那么走getLocalBlockReader(...)如果是false那么走getBlockReader(...)
2.如果走getLocalBlockReader(...)那么需要通过BlockReaderLocal.newBlockReader(...)创建BlockReader
3.执行getBlockPathInfo(...)的时候会执行DataNode的getBlockLocalPathInfo方法从而在checkBlockLocalPathAccess的时候告知权限不足.
解决方式:
1.直接禁用
conf.setBoolean(DFSConfigKeys.DFS_CLIENT_READ_SHORTCIRCUIT_KEY, false);
相关推荐
Exception in thread main org.apache.hadoop.security.AccessControlException: Permission denied: user=L.MOON, access=WRITE, inode=/user/lsy/result1/_temporary/0:lsy:supergroup:drwxr-xr-x Caused by: org....
《Ant与Eclipse集成:JVM1.2版本1.0的jar.zip包解析》 在软件开发领域,Ant和Eclipse是两个重要的工具。Ant是Apache软件基金会下的一个Java项目,它是一个基于XML的构建工具,常用于自动化Java项目的构建、测试和...
org.apache.hadoop.security.AccessControlException: Permission denied.
拒绝访问异常处理(AccessDeniedException)_spring security例子 博客:blog.csdn.net/dsundsun
AccessControlException:访问被拒绝(“ java.lang.RuntimePermission”“ getClassLoader”) 输出轨迹: [2018-06-13T18:47:26,737][INFO ][c.e.e.s.a.MyAuthenticationBackend] Starting up authentication ...
引起的 java.security.AccessControlException: access denied ("java.net.NetPermission" "setDefaultAuthenticator")at java.security.AccessControlContext.checkPermission(AccessControlContext.java:375)设置...
在 Tomcat 中观察运行结果,可以发现出现了 Exception“org.apache.hadoop.security.AccessControlException: Permission denied: user=bikun,access=WRITE, inode="/user":user:supergroup:drwxr-xr-x”。...
- **错误现象1:AccessControlException: Permission denied** - 原因:Windows本地用户权限不足。 - 解决方法:(i)测试环境中,可在hdfs-site.xml中将dfs.permissions设置为false,禁用权限检查;(ii)或修改...
4. AccessController和AccessControlException:访问控制器负责执行权限检查,如果权限不足,会抛出`AccessControlException`。 三、实现方法 1. 沙箱机制:Java的默认安全模型在沙箱环境中运行不受信任的代码,...
* ERROR at line 1: ORA-29532: Java call terminated by uncaught Java exception: java.security.AccessControlException: th (java.io.FilePermission D:OCCdboratrace ack read) has not been granted to ...
这个特定的错误日志"org.apache.hadoop.security.AccessControlException: Permission denied: user=xudsa, access=WRITE, inode="/uploaddemo1.txt":hadoop:supergroup:-rw-r--r--"表明用户"xudsa"试图对文件"/...
org.apache.hadoop.security.AccessControlException: Permission denied: user=ASUS, access=WRITE, inode 今天在windows连接虚拟机的hdfs,通过IDEA上传文件到虚拟机的hdfs上,出现了权限不足问题,原因是以...
如果不正确配置或缺失这些文件,可能会导致安全异常,例如`java.security.AccessControlException: access denied`,这通常是因为JVM找不到合适的策略文件来验证加密操作。 为了正确使用这些jar包,开发者需要将...
### 在Linux中创建静态库和动态库 #### 静态库与动态库的基本概念 在Linux环境下,创建和利用静态库与动态库是软件开发中的常见需求。无论是提高代码复用性还是优化应用程序的性能,掌握这两种类型的库的创建与...
Exception in thread "main" java.security.AccessControlException: access denied (java.lang.reflect.ReflectPermission suppressAccessChecks) ``` 这表明当前运行环境中的安全策略不允许反射代码忽略访问检查...
这篇博文“OSGI错误分析解决”可能探讨了在开发或部署OSGI应用时遇到的问题及其解决方案。 首先,OSGI的核心概念是Bundle,每个Bundle都是一个独立的代码单元,包含类、资源和元数据,类似于Java中的JAR文件。...
在Java编程语言中,权限控制是系统安全的重要组成部分。`permission_control_fix.zip`这个压缩包可能包含了解决或...如果你在开发过程中遇到与权限相关的错误或需要优化安全性,这个压缩包或许能提供有价值的解决方案。
- **解释**:在示例中,尝试设置不受允许的属性(如 `java.version`)会导致 `AccessControlException` 异常。 #### 不安全反序列化漏洞防护 - **知识点**:使用 XStream 和 JDK 原生 API 进行反序列化时,应采取...