如何解决Hadoop映射减少错误:无法运行程序
我已经尝试很长时间了,但是我不明白为什么它失败了。我有一个.sh脚本开始执行Hadoop mapreduce作业:
yarn --config /etc/hadoop/conf2 jar hadoop-streaming.jar \
-D mapreduce.job.name="Compare TASS text with others. Date:${CALC_DATE}" \
-D mapreduce.job.maps=36 \
-D mapreduce.job.reduces=1 \
-D mapreduce.job.reduce.slowstart.completedmaps=0.99 \
-D mapreduce.task.timeout=7200000 \
-input ${HADOOP_DIR}/other_texts.txt \
-output ${HADOOP_DIR}/compare_pairs \
-file ./tass/compare_texts.py \
-file ./tass/reduce_text_dist.py \
-mapper compare_texts.py \
-reducer reduce_text_dist.py
我指向刚安装的集群的配置(但我没有对其进行管理),并且命令开始产生错误:
Caused by: java.io.IOException: Cannot run program "/tmp/nm/usercache/matilda_dev/appcache/application_1601526003473_0137/container_e04_1601526003473_0137_01_000050/./compare_texts.py": error=2,No such file or directory
请注意,我指的是用户当前工作目录的相对路径。
我的mapper和reducer有一个指向Python解释器的指针:
#!/usr/bin/python3.6
Python脚本是可执行的:
ls -l tass/compare_texts.py
-rwxrwxr-x 1 deploy deploy 4836 Oct 23 16:16 tass/compare_texts.py
如果我尝试(在Internet上的某些示例中)将映射器更改为
-mapper "/usr/bin/python compare_texts.py" \
错误是
INFO mapreduce.Job: Task Id : attempt_1601526003473_0140_m_000027_2,Status : Failed
Error: java.lang.RuntimeException: PipeMapRed.waitOutputThreads(): subprocess Failed with code 1
此选项:
-mapper "/usr/bin/python3.6 compare_texts.py" \
错误是
INFO mapreduce.Job: Task Id : attempt_1601526003473_0142_m_000023_2,Status : Failed
Error: java.lang.RuntimeException: Error in configuring object
我没办法解决这个问题。您有什么建议吗?
有关信息,旧的Hadoop集群已正确处理了以下命令:
yarn jar hadoop-streaming.jar \
-D mapreduce.job.name="Compare TASS text with others. Date:${CALC_DATE}" \
-D mapreduce.job.maps=36 \
-D mapreduce.job.reduces=1 \
-D mapreduce.job.reduce.slowstart.completedmaps=0.99 \
-D mapreduce.task.timeout=7200000 \
-input ${HADOOP_DIR}/other_texts.txt \
-output ${HADOOP_DIR}/compare_pairs \
-mapper tass/compare_texts.py \
-reducer tass/reduce_text_dist.py \
-file common \
-file tass \
-file $FILE_PERIX
它们不适用于新群集,并且当前命令集不适用于旧群集。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。