mapreduce中的权限被拒绝问题?

时间:2015-11-04 19:00:48

标签: hadoop mapreduce

我尝试过以下查询。

hadoop jar /home/cloudera/workspace/para.jar word.Paras examples/wordcount /home/cloudera/Desktop/words/output

map reduce在其显示以下错误后开始。任何人都可以帮助解决这个问题。

15/11/04 10:33:57 INFO mapred.JobClient: Task Id : attempt_201511040935_0008_m_000002_0, Status : FAILED
org.apache.hadoop.security.AccessControlException: Permission denied: user=cloudera, access=WRITE, inode="/":hdfs:supergroup:drwxr-xr-x

我是否需要更改任何配置文件或cloudera manager。

3 个答案:

答案 0 :(得分:0)

该异常表明您正在尝试写入HDFS根目录" /"你(用户:cloudera)没有权限。

不知道你的具体罐子做了什么:

我猜最后一个参数(" / home / cloudera / Desktop / words / output")是您希望放置输出的位置。

我想这应该是在HDFS中,其中/ home不存在。

尝试将此更改为您可以编写的地方,可能" / user / cloudera / words / output"

答案 1 :(得分:0)

在开始使用hadoop集群之前,有一组默认目录,

do,它应该显示目录

    $ hadoop fs -ls /

示例用户,如果您想在hdfs上运行所需的cloudera     

    /user/cloudera   -- the user running the program
    /user/hadoop     -- your hadoop file system user
    /user/mapred     -- your mapred user
    /tmp             -- temporary which needs to have permission hdfs chmod 1777 
    

HTH。

答案 2 :(得分:0)

您传递的最后一个参数应该是HDFS的输出路径,而不是默认文件系统。

当您使用cloudera用户运行时,您可以指向/user/cloudera/words/output。但首先,您需要检查您的HDFS中是否有cloudera,并且您具有写入权限,只需发出以下内容

hadoop fs -ls /user/

一旦你将命令更改为以下命令:

hadoop jar /home/cloudera/workspace/para.jar word.Paras examples/wordcount <path_where_you_have_write_permission_in_HDFS>