mapreduce中的权限被拒绝问题?

8gsdolmq  于 2021-06-03  发布在  Hadoop
关注(0)|答案(3)|浏览(279)

我试过下面的查询。

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中的任何内容。

ttisahbt

ttisahbt1#

这个异常表明您正试图写入您要创建的hdfs根目录“/”(user:cloudera)没有这样做的权限。
在不知道特定jar的功能的情况下:
我猜最后一个参数(“/home/cloudera/desktop/words/output”)是您希望放置输出的地方。
我猜这应该是在hdfs中,其中/home不存在。
试着把它改到你可以写的地方,可能是“/user/cloudera/words/output”

ercv8c1e

ercv8c1e2#

传递的最后一个参数应该是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>
ctzwtxfj

ctzwtxfj3#

在开始使用hadoop集群之前,需要创建一组默认目录,
是的,它应该给你看目录

$ 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

嗯。

相关问题