Hadoop3.3.4运行Python PageRank MapReduce任务遇PipeMapRed错误
Hadoop Streaming执行Python PageRank任务报错
PipeMapRed.waitOutputThreads(): subprocess failed with code 1的排查与处理 问题场景
- 集群环境:Hadoop 3.3.4(1主节点+2从节点)
- 任务目标:运行基于Google PageRank算法的Python MapReduce网页排名程序
- 执行命令:
mapred streaming -files mapper.py,reducer.py -input /user/hadoop/input/input.txt -output /user/hadoop/output -mapper ./mapper.py -reducer ./reducer.py - 触发报错:
PipeMapRed.waitOutputThreads(): subprocess failed with code 1
已完成排查动作
- 本地单独运行
mapper.py和reducer.py,逻辑输出正常 - 集群上执行小型WordCount MapReduce任务,可正常完成
- 主节点及所有从节点均已安装任务所需的全部依赖包
最终解决方案
放弃Hadoop Streaming方案,改用Apache Spark框架结合GraphFrames库实现PageRank计算,成功得到预期的网页排名结果
内容的提问来源于stack exchange,提问作者Tahar Jaafer
相关产品推荐
相关产品推荐

