解决hue编写MR streaming 无法上传文件问题

时间:2021-08-11 04:50:25

今天在使用hue编写streaming程序的时候,上传文件一直出现报错,报错信息如下:

Caused by: java.io.IOException: Cannot run program "/u01/yarn/nm/usercache/xuemingpang/appcache/application_1443862109059_23987/container_1443862109059_23987_01_000002/./thirdParty_map.py": error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1047)
at org.apache.hadoop.streaming.PipeMapRed.configure(PipeMapRed.java:209)
... 23 more
Caused by: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:186)
at java.lang.ProcessImpl.start(ProcessImpl.java:130)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1028)
... 24 more

从报错信息上看,是因为没有找到上传的脚本文件,可是仔细查看了自己创建的任务:
解决hue编写MR streaming 无法上传文件问题


文件路径明明是有的:

解决hue编写MR streaming 无法上传文件问题

后来在网上找了很多资料,也到apache官网查看了官方文档。然而并没有得到什么帮助。

最后只好*到google上找,总算在老外的一个网站上找到了解决办法。


解决hue编写MR streaming 无法上传文件问题

大概意思是在window平台下编写的脚本上传到Linux上无法执行,必须转成linux/unix下可执行的格式在行。


解决办法:


只须将你编写的脚本改成unix格式的即可,以notepad++为例:


(1)用notepad++打开你的脚本,然后   编辑-》档案格式转换-》转换成UNIX格式。

(2)然后删掉原先的脚本再上传。

(3)重新执行streaming。


运行成功!

解决hue编写MR streaming 无法上传文件问题


至于为什么格式不对会报no such file or directory呢?   估计是hue的报错系统有问题吧!