2

我已经能够使用 python mapper & reducer 设置流示例。mapred 文件夹位置是 /mapred/local/taskTracker 根用户和 mapred 用户都拥有此文件夹和子文件夹的所有权

但是,当我运行流式传输时,它会创建地图但不会减少并给出以下错误无法运行程序 /mapred/local/taskTracker/root/jobcache/job_201303071607_0035/attempt_201303071607_0035_m_000001_3/work/./mapper1.py Permission Denied

我注意到虽然它为 mapred/local/taskTracker 及其所有子目录提供了+rwx 权限,但当 mapreduce 为该作业创建临时文件夹时,这些文件夹没有所有用户的 rwx ...因此我得到权限被拒绝错误

我一直在寻找有关此的论坛主题,虽然有主题提到相同的错误......我找不到任何带有解决方案的回复。

任何帮助将不胜感激

4

1 回答 1

0

我假设您以 user 身份运行 Hadoop 守护进程root。在这种情况下,新创建文件的权限由umask用户确定root。但是,您不得更改umaskfor root

如果您想以不同的用户身份运行 MapReduce 作业和集群,最好以 user 身份启动 Hadoop 守护进程,以 user 身份启动hadoopMapReduce 作业mapreduce。但是,两个用户都应该属于同一个组,即hadoop. 此外,应相应地设置umask用户。hadoop

于 2013-03-07T21:23:57.853 回答