`
小网客
  • 浏览: 1241263 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

AccessControlException: Can't continue with getBlockLocalPathInfo()解决方案

 
阅读更多

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);

 

 

0
1
分享到:
评论
2 楼 小网客 2014-11-19  
恩 双刃剑,看安全机制的要求了
gwgyk 写道
关于dfs.client.read.shortcircuit设为true,这样Map Task在读本地文件块的时候就不会通过DataNode,而是直接从本地读,效率大大提高。
不过我在debug的时候,如果将其设为true,也的确会出现上面的错误。

1 楼 gwgyk 2014-11-19  
关于dfs.client.read.shortcircuit设为true,这样Map Task在读本地文件块的时候就不会通过DataNode,而是直接从本地读,效率大大提高。
不过我在debug的时候,如果将其设为true,也的确会出现上面的错误。

相关推荐

    【Spark】六、org.apache.hadoop.security.AccessControlException

    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集成:JVM1.2版本1.0的jar.zip包解析》 在软件开发领域,Ant和Eclipse是两个重要的工具。Ant是Apache软件基金会下的一个Java项目,它是一个基于XML的构建工具,常用于自动化Java项目的构建、测试和...

    hive-hcatalog-core-1.1.0-cdh5.14.4.jar

    org.apache.hadoop.security.AccessControlException: Permission denied.

    拒绝访问异常处理(AccessDeniedException)_spring security例子

    拒绝访问异常处理(AccessDeniedException)_spring security例子 博客:blog.csdn.net/dsundsun

    search-guard-authbackend-example-jpa:Search Guard问题调查示例

    AccessControlException:访问被拒绝(“ java.lang.RuntimePermission”“ getClassLoader”) 输出轨迹: [2018-06-13T18:47:26,737][INFO ][c.e.e.s.a.MyAuthenticationBackend] Starting up authentication ...

    GAEAuth0Callback:重新制作的 Auth0Callback 以与 Google App Engine 配合使用

    引起的 java.security.AccessControlException: access denied ("java.net.NetPermission" "setDefaultAuthenticator")at java.security.AccessControlContext.checkPermission(AccessControlContext.java:375)设置...

    上传文件到Hadoop失败的原因分析及解决方法.pdf

    在 Tomcat 中观察运行结果,可以发现出现了 Exception“org.apache.hadoop.security.AccessControlException: Permission denied: user=bikun,access=WRITE, inode="/user":user:supergroup:drwxr-xr-x”。...

    Hadopp集群运用过程中碰到的问题

    - **错误现象1:AccessControlException: Permission denied** - 原因:Windows本地用户权限不足。 - 解决方法:(i)测试环境中,可在hdfs-site.xml中将dfs.permissions设置为false,禁用权限检查;(ii)或修改...

    Java_2平台安全技术-结构、api设计和实现

    4. AccessController和AccessControlException:访问控制器负责执行权限检查,如果权限不足,会抛出`AccessControlException`。 三、实现方法 1. 沙箱机制:Java的默认安全模型在沙箱环境中运行不受信任的代码,...

    利用 Oracle 和 PHP 管理分布式跟踪文件

    * 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 ...

    hadoop 客户端权限问题

    这个特定的错误日志"org.apache.hadoop.security.AccessControlException: Permission denied: user=xudsa, access=WRITE, inode="/uploaddemo1.txt":hadoop:supergroup:-rw-r--r--"表明用户"xudsa"试图对文件"/...

    windows上传文件到虚拟机的hdfs上

    org.apache.hadoop.security.AccessControlException: Permission denied: user=ASUS, access=WRITE, inode 今天在windows连接虚拟机的hdfs,通过IDEA上传文件到虚拟机的hdfs上,出现了权限不足问题,原因是以...

    V7需要的jar包。。。

    如果不正确配置或缺失这些文件,可能会导致安全异常,例如`java.security.AccessControlException: access denied`,这通常是因为JVM找不到合适的策略文件来验证加密操作。 为了正确使用这些jar包,开发者需要将...

    在Linux中创建静态库和动态库

    ### 在Linux中创建静态库和动态库 #### 静态库与动态库的基本概念 在Linux环境下,创建和利用静态库与动态库是软件开发中的常见需求。无论是提高代码复用性还是优化应用程序的性能,掌握这两种类型的库的创建与...

    setAccessible()方法是否破坏了Java的访问规则

    Exception in thread "main" java.security.AccessControlException: access denied (java.lang.reflect.ReflectPermission suppressAccessChecks) ``` 这表明当前运行环境中的安全策略不允许反射代码忽略访问检查...

    OSGI错误分析解决

    这篇博文“OSGI错误分析解决”可能探讨了在开发或部署OSGI应用时遇到的问题及其解决方案。 首先,OSGI的核心概念是Bundle,每个Bundle都是一个独立的代码单元,包含类、资源和元数据,类似于Java中的JAR文件。...

    permission_control_fix.zip

    在Java编程语言中,权限控制是系统安全的重要组成部分。`permission_control_fix.zip`这个压缩包可能包含了解决或...如果你在开发过程中遇到与权限相关的错误或需要优化安全性,这个压缩包或许能提供有价值的解决方案。

    华为安全编码规范考试.md

    - **解释**:在示例中,尝试设置不受允许的属性(如 `java.version`)会导致 `AccessControlException` 异常。 #### 不安全反序列化漏洞防护 - **知识点**:使用 XStream 和 JDK 原生 API 进行反序列化时,应采取...

Global site tag (gtag.js) - Google Analytics