- 我在中设置了一个PYTHONPATH,它也很好用,除非我运行map reduce作业
-
它说失败
追踪(最近一次通话):文件"/work/app/hadoop/tmp/mapred/local/taskTracker/hduser/jobcache/job_201203091218_0006/temppt_2012030912.18_0006_m_000020_0/work/./mapper.py",第57行,位于从src.utilities导入实用程序ImportError:没有名为src.utilities的模块java.lang.RuntimeException:PipeMapRed.waitOutputThreads():子进程失败,代码为1网址:org.apache.hoop.streaming.PipeMapRed.waitOutputThreads(PipeMapRed.java:311)网址:org.apache.hoop.streaming.PipeMapRed.mapRedFinished(PipeMapRed.java:545)网址:org.apache.hoop.streaming.PipeMapper.map(PipeMapper.java:121)网址:org.apache.hadop.mapred.MapRunner.run(MapRunner.java:50)网址:org.apache.hoop.streaming.PipeMapRunner.run(PipeMapRunner.java:36)网址:org.apache.hadop.mapred.MapTask.runOldMapper(MapTask.java:436)网址:org.apache.hadop.mapred.MapTask.run(MapTask.java:372)网址:org.apache.hadop.mapred.Child$4.run(Child.java:261)位于java.security.AccessController.doPrivileged(本机方法)位于javax.security.auth.Subject.doAs(Subject.java:396)网址:org.apache.hadop.security.UserGroupInformation.doAs(UserGroupInformation.java:1059)网址:org.apache.hadop.mapred.Child.main(Child.java:255)java.lang.RuntimeException:PipeMapRed.waitOutputThreads():子进程失败,代码为1网址:org.apache.hoop.streaming.PipeMapRed.waitOutputThreads(PipeMapRed.java:311)网址:org.apache.hoop.streaming.PipeMapRed.mapRedFinished(PipeMapRed.java:545)网址:org.apache.hoop.streaming.PipeMapper.close(PipeMapper.java:132)网址:org.apache.hadop.mapred.MapRunner.run(MapRunner.java:57)网址:org.apache.hoop.streaming.PipeMapRunner.run(PipeMapRunner.java:36)网址:org.apache.hadop.mapred.MapTask.runOldMapper(MapTask.java:436)网址:org.apache.hadop.mapred.MapTask.run(MapTask.java:372)网址:org.apache.hadop.mapred.Child$4.run(Child.java:261)位于java.security.AccessController.doPrivileged(本机方法)位于javax.security.auth.Subject.doAs(Subject.java:396)网址:org.apache.hadop.security.UserGroupInformation.doAs(UserGroupInformation.java:1059)网址:org.apache.hadop.mapred.Child.main(Child.java:255)
问题:-是不是在hadoop流传输过程中,我们必须专门设置Python路径?哪里
我也遇到了同样的问题,我认为问题是Hadoop虚拟环境无法识别系统的Python路径。如果您将软件包安装到/Library/Python/2.7/site-packages,Hadoop将获取这些软件包并运行。
我们需要添加MapReduce服务环境安全阀,在我的情况下,我们使用cloudera管理器GUI,我添加了PYTHONPATH,它正在工作。