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

简介:

 问题现象

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

  即:

复制代码
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


本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/7649985.html,如需转载请自行联系原作者
相关文章
|
7月前
|
Java API Maven
HDFS的API操作
HDFS的API操作
64 0
69 Azkaban HDFS操作任务
69 Azkaban HDFS操作任务
43 0
|
分布式计算 Java Hadoop
16 HDFS的java操作
16 HDFS的java操作
64 0
|
2月前
|
Java
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
58 2
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
|
3月前
|
域名解析 分布式计算 网络协议
java遍历hdfs路径信息,报错EOFException
java遍历hdfs路径信息,报错EOFException
39 3
|
5月前
|
分布式计算 Hadoop 关系型数据库
实时计算 Flink版操作报错合集之Hadoop在将文件写入HDFS时,无法在所有指定的数据节点上进行复制,该如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
7月前
|
Java 关系型数据库 分布式数据库
Flink报错问题之flink-sql写hdfs报错如何解决
Flink报错通常是指在使用Apache Flink进行实时数据处理时遇到的错误和异常情况;本合集致力于收集Flink运行中的报错信息和解决策略,以便开发者及时排查和修复问题,优化Flink作业的稳定性。
|
6月前
|
Java 大数据 API
【大数据】HDFS、HBase操作教程(含指令和JAVA API)
【大数据】HDFS、HBase操作教程(含指令和JAVA API)
152 0
【大数据】HDFS、HBase操作教程(含指令和JAVA API)
|
6月前
|
分布式计算 Hadoop Java
分布式系统详解--框架(Hadoop--JAVA操作HDFS文件)
分布式系统详解--框架(Hadoop--JAVA操作HDFS文件)
48 0
|
7月前
|
分布式计算 IDE Hadoop
实验:熟悉常用的HDFS操作
实验:熟悉常用的HDFS操作
96 3

热门文章

最新文章

相关实验场景

更多

推荐镜像

更多