我有一个应用程序,它创建每行一行的文本文件并将其转储到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
答案 0 :(得分:0)
您可以尝试使用“全部停止”来停止所有后台程序吗?首先,然后在重新启动后台程序后重新运行MR作业(使用' start-all')?
让我们看看它是否有帮助!