hadoop / bin / hadoop没有示例jar

时间:2014-03-12 12:33:14

标签: hadoop

我安装了hadoop 2.2.0并尝试运行示例wordcount程序。为此,首先我使用以下方法将数据导入hdfs:

bin/hadoop fs -copyFromLocal /home/prassanna/Desktop/input /input

之后,我尝试使用:

运行word count jar文件
root@prassanna-Studio-1558:/usr/local/hadoop# bin/hadoop jar hadoop*examples*.jar wordcount /input -output

但它显示:Not a valid JAR: /usr/local/hadoop/hadoop*examples*.jar

我检查了usr/local/hadoop/bin/hadoop目录,没有hadoop示例jar。

4 个答案:

答案 0 :(得分:3)

您要查找的Jar文件位于以下目录中:

hadoop_root/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar

并且应该使用如下命令运行:

$ yarn jar hadoop_root/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount /input /output

答案 1 :(得分:1)

Hadoop示例jar在这里不再存在。

usr/local/hadoop/bin/hadoop

从hadoop 2.x开始,正如SAM在他的回答中正确指出的那样,你正在寻找的罐子是

$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar

您可以像

一样运行它
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount /input /output

确保/input文件夹中有一个要在hdfs中计算的输入文件。另请注意,/output应该存在。这是为了创建hadoop框架。

另请参阅此文档以使用Hadoop2.2.0 Shell命令。不使用已弃用的版本始终是一个好习惯。

http://hadoop.apache.org/docs/r2.2.0/hadoop-project-dist/hadoop-common/FileSystemShell.html

答案 2 :(得分:1)

在我的hadoop中,我在2.4.1工作,所以命令是

hadoop jar $ HADOOP_HOME / share / hadoop / mapreduce / hadoop-mapreduce-examples-2.4.1.jar wordcount / input / output

答案 3 :(得分:0)

您必须编译WordCount.java,然后按如下方式对JAR进行编译。我不得不四处寻找lib路径,但最后我能够用它来编译示例Class

[apesa@localhost ~]$ javac -classpath $HADOOP_HOME/apesa/hadoop/common/hadoop-common-2.2.0.jar:$HADOOP_HOME/apesa/hadoop/mapreduce/hadoop-mapreduce-client-core-2.2.0.jar:$HADOOP_HOME/apesa/hadoop/common/lib/commons-cli-1.2.jar -d wordcount_classes WordCount.java

然后JAR如下

[apesa@localhost ~]$ jar -cvf wordcount.jar -C wordcount_classes/ . 

我暂时没有运行它,但如果出现错误,您可能必须验证lib文件在同一个地方