说不清楚
追踪(最近一次通话): 文件“/work/app/hadoop/tmp/mapred/local/taskTracker/hduser/jobcache/job_201203091218_0006/attempt_201203091218_0006_m_000020_0/work/./mapper.py”,第57行, 来自src.utilities导入实用程序 ImportError:没有名为src.utilities的模块 java.lang.RuntimeException:PipeMapRed.waitOutputThreads():子进程失败,代码为1 在org.apache.hadoop.streaming.PipeMapRed.waitOutputThreads(PipeMapRed.java:311) 在org.apache.hadoop.streaming.PipeMapRed.mapRedFinished(PipeMapRed.java:545) 在org.apache.hadoop.streaming.PipeMapper.map(PipeMapper.java:121) 在org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:50) 在org.apache.hadoop.streaming.PipeMapRunner.run(PipeMapRunner.java:36) 在org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:436) 在org.apache.hadoop.mapred.MapTask.run(MapTask.java:372) 在org.apache.hadoop.mapred.Child $ 4.run(Child.java:261) at java.security.AccessController.doPrivileged(Native Method) 在javax.security.auth.Subject.doAs(Subject.java:396) 在org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1059) 在org.apache.hadoop.mapred.Child.main(Child.java:255) java.lang.RuntimeException:PipeMapRed.waitOutputThreads():子进程失败,代码为1 在org.apache.hadoop.streaming.PipeMapRed.waitOutputThreads(PipeMapRed.java:311) 在org.apache.hadoop.streaming.PipeMapRed.mapRedFinished(PipeMapRed.java:545) 在org.apache.hadoop.streaming.PipeMapper.close(PipeMapper.java:132) 在org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:57) 在org.apache.hadoop.streaming.PipeMapRunner.run(PipeMapRunner.java:36) 在org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:436) 在org.apache.hadoop.mapred.MapTask.run(MapTask.java:372) 在org.apache.hadoop.mapred.Child $ 4.run(Child.java:261) at java.security.AccessController.doPrivileged(Native Method) 在javax.security.auth.Subject.doAs(Subject.java:396) 在org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1059) 在org.apache.hadoop.mapred.Child.main(Child.java:255)
问题: - 在hadoop-streaming期间,我们必须专门设置Python路径吗?在哪里?
答案 0 :(得分:0)
我遇到了同样的问题,我认为问题是Hadoop虚拟环境无法识别系统的pythonpath。如果你将软件包安装到/Library/Python/2.7/site-packages,Hadoop会把它们拿起来,它会起作用。
答案 1 :(得分:0)
我们需要添加MapReduce服务环境安全阀,在mycase我们使用cloudera-manager GUI,我添加了PYTHONPATH它正在工作。