运行作业时出现Hadoop DFS权限问题

Dol*_*cci 10 permissions hadoop

我收到以下权限错误,并且不确定为什么hadoop正在尝试写入此特定文件夹:

hadoop jar /usr/lib/hadoop/hadoop-*-examples.jar pi 2 100000
Number of Maps  = 2
Samples per Map = 100000
Wrote input for Map #0
Wrote input for Map #1
Starting Job
org.apache.hadoop.security.AccessControlException: org.apache.hadoop.security.AccessControlException: Permission denied: user=myuser, access=WRITE, inode="/":hdfs:supergroup:drwxr-xr-x
Run Code Online (Sandbox Code Playgroud)

知道为什么它试图写入我的hdfs的根目录吗?

更新:暂时将hdfs root(/)设置为777权限后,我看到正在写入"/ tmp"文件夹.我想一个选项就是创建一个具有开放权限的"/ tmp"文件夹,供所有人写入,但如果将其写入用户文件夹(即/ user/myuser/tmp),从安全角度来看会很好.

Dol*_*cci 15

我能够使用以下设置实现此功能:

<configuration>
    <property>
        <name>mapreduce.jobtracker.staging.root.dir</name>
        <value>/user</value>
    </property>

    #...

</configuration>
Run Code Online (Sandbox Code Playgroud)

还需要重新启动jobtracker服务(特别感谢Jeff在Hadoop邮件列表上帮助我追踪问题!)