我已经能够使用python mapper& amp设置流媒体示例了。减速器。 mapred文件夹位置是/ mapred / local / taskTracker 根和& mapred用户拥有此文件夹的所有权&子文件夹
然而,当我运行我的流媒体时,它会创建地图,但不会减少,并会出现以下错误 无法运行程序 /mapred/local/taskTracker/root/jobcache/job_201303071607_0035/attempt_201303071607_0035_m_000001_3/work/./mapper1.py 权限被拒绝
我注意到虽然它已经为mapred / local / taskTracker及其所有子目录提供了+ rwx权限,但是当mapreduce为这个作业创建临时文件夹时,文件夹没有所有用户的rwx ......因此我得到了许可被拒绝的错误
我一直在寻找论坛上的线程,虽然有线程提到同样的错误......我找不到任何解决方案的答案。
任何帮助将不胜感激
答案 0 :(得分:0)
我假设你以用户root
运行你的Hadoop守护进程。在这种情况下,新创建的文件的权限由用户umask
的{{1}}确定。但是,您不得更改root
的{{1}}。
如果您希望将MapReduce作业和群集作为不同用户运行,最好以用户umask
启动Hadoop守护程序,并以用户root
启动MapReduce作业。但是,两个用户都应属于同一组,即hadoop
。此外,应相应地设置用户mapreduce
的{{1}}。