我正在尝试在hadoop集群上部署一个算法,用python编写,使用hadoop流功能。当我尝试“本地”执行它时,使用以下语法
cat poi/* | ./mapper_paths.py | ./combiner_paths.py | ./reducer_paths.py
它就像一个符咒,但是当我尝试使用以下语法在集群上部署它时
hadoop jar $HADOOP_HOME/share/hadoop/tools/lib/hadoop-streaming-2.7.2.jar -input /poi -output /poi_outXXX -combiner "/root/combiner_paths.py" -mapper "/root/mapper_paths.py" -reducer "/root/reducer_paths.py"
它不能说
错误:java.lang.runtimeexception:pipemapred.waitoutputthreads():子进程失败,代码为1
(这是完整的日志)
现在,我无法访问python错误日志,这可能是由于集群是如何部署的(我使用了这个docker容器),所以我无法理解错误到底在哪里。
以下是脚本:mapper | combiner | reducer
提前感谢您的帮助!
暂无答案!
目前还没有任何答案,快来回答吧!