【发布时间】:2014-09-21 20:21:13
【问题描述】:
我有一个应用程序,它可以创建每行包含一行的文本文件并将其转储到 hdfs。 该位置又被用作 hadoop 流作业的输入目录。
期望映射器的数量将等于“输入文件拆分”,在我的情况下等于文件的数量。一些映射器没有被触发,我在流输出转储中看到一个奇怪的问题:
原因:java.io.IOException:无法运行程序“/mnt/var/lib/hadoop/tmp/nm-local-dir/usercache/hadoop/appcache/application_1411140750872_0001/container_1411140750872_0001_01_000336/./CODE/python_mapper_unix.py ": error=26, 文本文件忙
“python_mapper.py”是我的映射器文件。
环境细节: 一个 40 节点 aws r3.xlarge AWS EMR 集群 [此集群上没有其他作业运行] 当这个流媒体 jar 运行时,集群上没有其他作业正在运行,因此任何外部进程都不应尝试打开“python_mapper.py”文件
这是流式 jar 命令:
ssh -o StrictHostKeyChecking=no -i hadoop@ hadoop jar /home/hadoop/contrib/streaming/hadoop-streaming.jar -files CODE -file CODE/congfiguration.conf -mapper CODE/python_mapper.py -input /user /hadoop/launchidlworker/input/1 -output /user/hadoop/launchidlworker/output/out1 -numReduceTasks 0
【问题讨论】:
标签: python hadoop mapreduce streaming