原文地址: 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加入一个属性值

  1. <property>
  2. <name>dfs.permissions</name>
  3. <value>false</value>
  4. </property>

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

(转)Permission denied: win7下面eclipse上传本地文件到DFS && 运行M/R程序时出现的同样的错误解决方法的更多相关文章

  1. git 上传本地文件到github

    git 上传本地文件到github 1 git config --global user.name "Your Real Name" 2 git config --global u ...

  2. paramiko模块的安装和使用(含上传本地文件或文件夹到服务器,以及下载服务器文件到本地)

    安装和使用分两步介绍: 介绍一下,本文的运行环境是win7 64位 和python 2.7  . 安装: WIN7_64位 安装python-ssh访问模块(paramiko)的安装教程,本人亲测下面 ...

  3. 用java 代码下载Samba服务器上的文件到本地目录以及上传本地文件到Samba服务器

    引入: 在我们昨天架设好了Samba服务器上并且创建了一个 Samba 账户后,我们就迫不及待的想用JAVA去操作Samba服务器了,我们找到了一个框架叫 jcifs,可以高效的完成我们工作. 实践: ...

  4. 如何用一张图片代替 'input:file' 上传本地文件??

    今天去面试,碰到了一道题,也许是因为紧张或者喝水喝多了,一时竟然没有转过弯来,回来之后一细想原来这么简单,哭笑不得,特此记录一下! 原题是这样的:  如何用一张图片代替 'input:file' 上传 ...

  5. 两种方法上传本地文件到github

    https://www.jianshu.com/p/c70ca3a02087 自从使用github以来,一直都是在github网站在线上传文件到仓库中,但是有时因为网络或者电脑的原因上传失败.最重要的 ...

  6. Linux 将本地文件上传Linux服务器, 即ssh 命令上传本地文件

    利用ssh传输文件   在linux下一般用scp这个命令来通过ssh传输文件. 1.从服务器上下载文件 scp username@servername:/path/filename /var/www ...

  7. Linux 将本地文件上传Linux服务器, 即ssh 命令上传本地文件

    http://blog.csdn.net/rodulf/article/details/71169996 利用ssh传输文件 在linux下一般用scp这个命令来通过ssh传输文件. 1.从服务器上下 ...

  8. 两种方法上传本地文件到github(转)

    自从使用github以来,一直都是在github网站在线上传文件到仓库中,但是有时因为网络或者电脑的原因上传失败.最重要的原因是我习惯本地编辑,完成以后再一起上传github.看过了几个教程,总结出最 ...

  9. 上传本地文件到GitHub上

    问题解决 今天在windows上上传本地文件到github,出现用户名和仓库不匹配的情况,解决方式如下: 打开控制面板,选择用户账户 把该删除的账户删除一下就行了. 上传文件的步骤如下: 将上传的文件 ...

随机推荐

  1. MFC连接Access讲解(3合1) .

    方法一: 1.首先,要用#import语句来引用支持ADO的组件类型库(*.tlb),其中类型库可以作为可执行程序(DLL.EXE等)的一部分被定位在其自身程序中的附属资源里,如:被定位在msado1 ...

  2. hdu_1348_Wall(凸包)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1348 题意:让你求n个点的凸包,凸包离点的距离为l 题解:就凸包周长+一个半径为l的圆周长 #incl ...

  3. redis第一篇--综述

    1 redis里边有数据库的概念.可分为1-255这些表.在存储或者查找的时候要指明. redis_sentinel 集群里边封装成了namespace这样的概念.与db是不一样的.

  4. Go-new和make

    new返回指向struct的指针,new仅分配内存,而不对对象的值进行初始化 make返回到strcut的对象,而不是指针,只能创建map,slice,channel对象 make([]string, ...

  5. MySQL 出现 The table is full 的解决方法【转】

    [MySQL FAQ]系列 — 你所不知的table is full那些事 时间 2014-08-21 12:18:56  MySQL中文网 原文  http://imysql.com/2014/08 ...

  6. linuxmint计算器

    命令行输入bc进入计算器, 可以计算 + 加法 - 减法* 乘法 / 除法^ 指数 % 余数 quit   关闭计算器

  7. DataGirdView 编辑项时的验证

    dgvConfig.DataSource = CreateTable(); dgvConfig.Columns["编号"].ReadOnly = true; //只读 dgvCon ...

  8. Sql server 开窗函数over()的语法

    用法一:与ROW_NUMBER()函数结合用,给结果进行排序编号,如图: 代码如下: SELECT ROW_NUMBER() over(order by RequiredDate) num ,* fr ...

  9. document.body与document.documentElement

    document.body 获取的是body,document.documentElement获取的是html,在任何浏览器上都是如此 相关问题: 1.获取页面滚动条滚动距离 chrome,safar ...

  10. 转 如何不耍流氓的做运维之——SHELL脚本

    家都是文明人,尤其是做运维的,那叫一个斯文啊.怎么能耍流氓呢?赶紧看看,编写 SHELL 脚本如何能够不耍流氓. 下面的案例,我们以 MySQL 数据库备份 SHELL 脚本的案例来进行阐述. 不记录 ...