环境:win7  eclipse    hadoop 1.1.2

当执行创建文件的的时候,

即:

String Path = "hdfs://host2:9000";

FileSystem fileSystem = FileSystem.get(new URI(Path),new Configuration());

String DIR_PATH = "hdfs://host2:9000/user/hadoop/ok";

fileSystem.mkdirs(new Path(DIR_PATH));//想hadoop上创建一个文件报错

报错:

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

原因:

1. 当前用户是Administrator ,不是hadoop用户

2. hadoop的默认的hdfs的文件目录是有权限的,要创建位置是目录是用文件权限的

说明 :

上面的String  IR_PATH_1 = "hdfs://host2:9000/user/hadoop/ok"; String   IR_PATH_2 = "/ok";

这个这两个是有区别的,前面的 IR_PATH_1  是要在默认的目录(hdfs://host2:9000)下的/user/hadoop下进行创建文件夹,

而他的文件为:drwxr-xr-x   - hadoop supergroup          0 2016-07-18 09:04 /user/hadoo    是用户用户hadoop 用户组supergroup 的文件夹

后面的一个IR_PATH_2 是在根目录(hdfs://host2:9000)下进创建进行创建

解决办法:

1. 为了使Eclipse能正常对Hadoop集群的HDFS上的文件能进行修改和删除,所以修改你工作时所用的Win7系统管理员名字,默认一般为"Administrator",把它修改为"hadoop",此用户名与Hadoop集群普通用户一致,大家应该记得我们Hadoop集群中所有的机器都有一个普通用户——hadoop,而且Hadoop运行也是用这个用户进行的。为了不至于为权限苦恼,我们可以修改Win7上系统管理员的姓名,这样就避免出现该用户在Hadoop集群上没有权限等都疼问题,会导致在Eclipse中对Hadoop集群的HDFS创建和删除文件受影响。

(1)选择"本地用户和组",展开"用户",找到系统管理员"Administrator",修改其为"hadoop",
(2)把电脑进行"注销"或者"重启电脑",这样才能使管理员才能用这个名字。

2.修改hadoop的配置

在conf/hdfs-site.xml中加入

<property>
<name>dfs.permissions</name>
<value>false</value>
</property>

3.修改权限:(windows用户Administrator对hadoop目录并没有写入权限)

放开 hadoop 目录的权限 , 命令如下 :$ hadoop fs -chmod 777 /user/hadoop.

这样是可以进行写入了,但是,这样创建的文件夹信息为:用户为 Administrator

drwxr-xr-x   - Administrator supergroup          0 2016-07-18 09:12 /user/hadoop/ok

是Administrator用户的,不是下面的一个文件夹类型一样

drwxr-xr-x - hadoop supergroup 0 2016-07-18 09:20 /user/hadoop/.Trash

eclipse 向HDFS中创建文件夹报错 permission denied的更多相关文章

  1. Android 5.1.1在外置SD卡中创建文件夹

    Android 4.4之后WRITE_MEDIA_STORAGE 权限仅提供给系统应用,不再授予第三方App,WRITE_EXTERNAL_STORAGE 权限,仅仅用于授权用户写 primary e ...

  2. VS2010 MFC中 创建文件夹及文件判空的方法

    1. MFC中 创建文件夹的方法如下: CString strFolderPath = "./Output"; //判断路径是否存在 if(!PathIsDirectory(str ...

  3. IDEA中使用git报错Permission denied (publickey)

    最近在使用idea开发时,使用git拉取远程仓库的代码时,报错Permission denied (publickey),原因是因为ssh的密钥失效,必须得重新设置下ssh的密钥即可. 命令很简单,在 ...

  4. java sftp 报错 Permission denied (没有权限;拒绝访问)

    解决办法: 1.检查账号密码是否错误 2.检查freeSSHD是否是以管理员身份运行的 3.检查sftp路劲有没有配置错误,java通过sftp将图片文件传输到指定文件夹,如果这个文件夹在配置的当前目 ...

  5. Visual Studio Code 使用 Git插件报错 - Permission denied (publickey)

    在使用GitHub的时候,为了避免每次输入用户名密码,都会使用SSH方式代替Https. 按网上教程,大多数使用SSH-KeyGen生成公私钥对,而后上传公钥至Github,并切换Repositori ...

  6. 【jvm】linux 调用 jmap 报错Permission denied

    linux 调用 jmap  报错Permission denied 解决方案: 分别对java安装目录,java的bin目录以及jmap命令设置权限 chmod jdk1..0_79 chmod b ...

  7. Eclipse/MyEclipse向HDFS中如创建文件夹等操作报错permission denied解决办法

    不多说,直接上干货! 问题现象 当执行创建文件的的时候, 即: String Path = "hdfs://host2:9000"; FileSystem fileSystem = ...

  8. windows下连接hadoop运行eclipse报错Permission denied:

    这是权限问题,试了一下同时也不能在hdfs创建文件夹. 解决: 修改如下hadoop的配置文件:etc/hadoop/hdfs-site.xml,如没有的话可以添加上. <property> ...

  9. Xcode中创建文件夹

    如果在xcode工程中new group,只是在视觉效果上分好了几个文件夹,方便分类管理,但在finder中并不会创建新的文件夹,在硬盘目录还是所有文件都并列在一个文件夹内,更恶心的是当你重新打开工程 ...

随机推荐

  1. MySQL------如何安装mysql-connector-java-5.1.38.zip

    下载地址:http://dev.mysql.com/downloads/connector/j/ 安装mysql-connector-java-5.1.38.zip:1.解压文件->把里面的my ...

  2. nginx找不到php文件

    使用php-fpm解析PHP,"No input file specified","File not found"是令nginx新手头疼的常见错误,原因是php ...

  3. IDEA 从SVN检出项目相关配置

    1.新建好一个工程,然后通过SVN检出项目 2.检出后一般tomcat的环境是配置好的,点击上方Project Structure按钮,弹出窗体,查看Project项,一般没问题,如果要配置就配置Pr ...

  4. 可输入自动匹配Select——jquery ui autocomplete

    <!doctype html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  5. iframe 动态onload事件处理方式

    转自:http://w3help.org/zh-cn/causes/SD9022 标准参考 关于 HTML 4.01 规范中 BODY 标记的 onload 属性说明: http://www.w3.o ...

  6. C++命名空间

    C++命名空间 本讲基本要求 * 掌握:命名空间的作用及定义:如何使用命名空间.     * 了解:使用早期的函数库 重点.难点     ◆命名空间的作用及定义:如何使用命名空间.     在学习本书 ...

  7. 离线渲染中的不规则光源(Meshlight)

    之前一直在考虑这样一个问题,在实际生活中的光源都是有体积的,但是图形学中,很多时候我们用简单的点光源,面光源,或者方向光来模拟实际生活中这些光源,势必会产生一些误差,同时导致很多效果不好做.那么在离线 ...

  8. MSF溢出实战教程

    1.  进入终端,开启MSF相关服务 2.  连接数据库 3.  主机扫描 发现如果有MS08_067漏洞,就可以继续渗透 4.  开始溢出 溢出成功的话 sessions -l         查看 ...

  9. linux c程序中获取shell脚本输出的实现方法

    linux c程序中获取shell脚本输出的实现方法 1. 前言Unix界有一句名言:“一行shell脚本胜过万行C程序”,虽然这句话有些夸张,但不可否认的是,借助脚本确实能够极大的简化一些编程工作. ...

  10. vim设置语法高亮

    在vim安装目录中的_vimrc修改,加上以下的代码. set nu! colorscheme desert      syntax enable      syntax on