我有一个应用程序,它创建每个一行的文本文件,并将其转储到hdfs。这个位置又被用作hadoop流作业的输入目录。
期望的是映射器的数量将等于"输入文件拆分",在我的情况下,它等于文件的数量。所有的映射器都没有被触发,我在流输出转储中看到了一个奇怪的问题:
由以下原因引起:java.io.io异常:无法运行程序"/mnt/var/lib/hadoop/tmp/nm local-dir/usercache/hadoop/appcache/application_1411140750872_0001/container_1411140750872_0001_01_000336/./CODE/python\umapper_unix.py":错误=26,文本文件繁忙
"python_maper.py"是我的映射程序文件。
环境详细信息:一个40节点的aws r3.xlarge aws EMR集群[此集群上没有运行其他作业]当这个流式jar正在运行时,集群上没有其他作业在运行,因此任何外部进程都不应该试图打开"python_maper.py"文件
这是流式jar命令:
ssh-o StrictHostKeyChecking=no-i hadoop@hadoop-jar/home/hadop/contrib/streaming/hadoop-streaming.jar-files CODE-file CODE/configuration.conf-mapper CODE/python_per.py-input/user/hadop/launchilworker/input/1-output/user/Hadop/laughilworker/out1-numReduceTasks 0
能否先尝试使用"stop all"停止所有守护程序,然后在重新启动守护程序(使用"start all")后重新运行MR作业?
让我们看看它是否有帮助!