zoukankan      html  css  js  c++  java
  • (转)Permission denied: win7下面eclipse上传本地文件到DFS && 运行M/R程序时出现的同样的错误解决方法

    原文地址: http://mntms.iteye.com/blog/2095651

    情景一:

    当在win7下面的eclipse装好插件,首次运行M/R程序的时候,想把文件从win7下面的本地文件传到HDFS文件系统上面:(点击Upload files to DFS 或者其他)



     

    会遇到一个提示,如下:



     

    然后点击OK,就可以了,然后你的文件就没有传上去!!!

    情景二:

    我们即使自己手动在将linux本地的文件传到HDFS中区以后,配置好之后运行,还是会出现下面的错误:

    org.apache.hadoop.security.AccessControlException: org.apache.hadoop.security.AccessControlException:Permission denied: user=weixiang, access=WRITE,inode="":root:supergroup:rwxr-xr-x

        atsun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

        atsun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

        atsun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

        atjava.lang.reflect.Constructor.newInstance(Unknown Source)

        atorg.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:95)

        atorg.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:57)

        atorg.apache.hadoop.hdfs.DFSClient.mkdirs(DFSClient.java:1428)

        atorg.apache.hadoop.hdfs.DistributedFileSystem.mkdirs(DistributedFileSystem.java:332)

        atorg.apache.hadoop.fs.FileSystem.mkdirs(FileSystem.java:1126)

        atorg.apache.hadoop.mapred.FileOutputCommitter.setupJob(FileOutputCommitter.java:52)

        atorg.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:186)

    Caused by: org.apache.hadoop.ipc.RemoteException: org.apache.hadoop.security.AccessControlException:Permission denied: user=weixiang, access=WRITE,inode="":root:supergroup:rwxr-xr-x

        atorg.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:199)

        atorg.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:180)

        atorg.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:128)

        atorg.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkPermission(FSNamesystem.java:5468)

    通过这两个情景,仔细一看,他们的错误还是一样的,看字面的意思像是HDFS下面的root目录的权限问题,我们如果是在linux系统下面的eclipse将不会出现这样的错误,因为我们的eclipse安装在window下面,跨了一个平台,所以就报了这个错,解决的简单的方法有下面两种:

    1通过指令给HDFS上的root目录权限

    2打开hdfs-site.xml加入一个属性值

    Java代码  收藏代码
    1. <property>  
    2.   
    3.    <name>dfs.permissions</name>  
    4.   
    5.    <value>false</value>  
    6.   
    7.  </property>  

     接下来执行stop-all.sh,   然后重新start-all.sh  接下来  刷新eclipse中的DFS   然后就可以随心所欲的从window下面传文件到HDFS上面,  或者是下载output文件也可以,运行M/R程序也不会再报上面的错误了!!!

  • 相关阅读:
    还有为window.close()方法弹出的询问窗口烦?
    ValidateTextBox发布绝对实用
    面向对象设计的11个原则
    关于建立控件、组件开发团队,有兴趣的网友请留言
    存储过程和触发器要使用链接服务器时要注意的一点
    “这块布的艺术成分都几高唧!”“有几高啊?”“三、四层楼那么高啦。”
    有没有人用过负离子发生器?
    摇滚你的页面。Free:RockUControl控件发布,开源:RevealTransitionImage
    控件开发团队序言及加入说明
    一些平时能用到的CSS效果(ZT+YC)
  • 原文地址:https://www.cnblogs.com/luolizhi/p/4928273.html
Copyright © 2011-2022 走看看