我无法在 Hadoop 集群中执行 mapreduce 作业

I am unable to execute a mapreduce job in a Hadoop cluster

$ hadoop jar /usr/lib/hadoop/hadoop-streaming-2.6.0-cdh5.13.0.jar -file mapper.py -mapper mapper.py -file reducer.py -reducer reducer.py -input /user/cloudera/test.txt -output /user/cloudera/result

我正在使用此命令执行 MapReduce 程序,使用 Mapper 作为 mapper.py 和 Reducer 作为 reducer.py

它抛出一个错误Not a valid JAR:/usr/lib/hadoop/hadoop-streaming-2.6.0-cdh5.13.0.jar

我正在使用 MobaXterm 和 VMBox,我的主目录是 /user/cloudera,映射器程序位置 /user/cloudera/mapper.py 减速器位置 /user/cloudera/reducer.py

如果您使用 cloudera 发行版进行练习,JAR 在上述位置 /usr/lib/hadoop 将不可用。 hadoop-streaming JAR 将出现在 /usr/lib/hadoop-mapreduce/

运行 更新了 JAR 的位置,应该可以正常工作。