使用mrjob在Hadoop沙箱运行脚本时提示Not a valid jar求助
解决Hadoop Streaming JAR路径错误问题
嘿,我一眼就瞅出问题所在了——你执行mrjob命令时写错了Hadoop Streaming JAR的文件名!错误提示里的/usr/hdp/2.6.3.0-235/hadoop-mapreduce/hadoop-streaming-jar明显不对,因为Hadoop的Streaming JAR文件后缀是.jar,不是-jar。
给你一步步的修复方案:
先确认正确的JAR位置
登录到VirtualBox的Hadoop沙箱,执行这条命令查看目标目录下的文件:ls /usr/hdp/current/hadoop-mapreduce-client/你肯定能找到名为
hadoop-streaming.jar的文件(注意是点号结尾的jar,不是横杠)。修正mrjob执行命令
把原来命令里的hadoop-streaming-jar改成hadoop-streaming.jar,正确的命令如下:python RatingsBreakdown.py -r hadoop --hadoop-streaming-jar /usr/hdp/current/hadoop-mapreduce-client/hadoop-streaming.jar u.data小提示:用软链接更省心
你用的/usr/hdp/current/hadoop-mapreduce-client/是HDP提供的软链接,它会自动指向当前活跃的Hadoop MapReduce版本,比直接写具体版本号(比如2.6.3.0-235)更稳妥,以后版本升级也不用改路径啦。
内容的提问来源于stack exchange,提问作者Jacob
相关产品推荐
相关产品推荐

