2014-03-12 57 views
2

我安装了hadoop 2.2.0并尝试运行示例wordcount程序。为此,首先我用进口的数据到HDFS:hadoop/bin/hadoop没有示例jar

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

在那之后,我尝试使用运行字数jar文件:

[email protected]:/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。

+0

是您找到的hadoop 2.2.0或以前版本的示例吗?你遵循什么教程? – vefthym

+0

你确定关于JAR文件名吗? – Chiron

回答

0

您必须编译WordCount.java,然后按如下所示进行JAR。我不得不挖周围的lib路径,但最终我能够用它来编译实例类

[[email protected] ~]$ 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 

然后如下

[[email protected] ~]$ jar -cvf wordcount.jar -C wordcount_classes/ . 

我没有在运行这个JAR它一段时间,但您可能需要验证的lib文件是在同一个地方,如果你得到一个错误

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 
+0

我在下面的dir usr/local/hadoop/share/hadoop/mapreduce中发现了hadoop-mapreduce-examples-2.2.0.jar,但是当我尝试运行root @ prassanna-Studio-1558时:/ usr/local/hadoop#bin/yarn jar /usr/local/hadoop/share/hadoop/mapreducehadoop-mapreduce-examples-2.2.0。jar wordcount /输入/输出,但得到以下错误不是有效的JAR:/usr/local/hadoop/share/hadoop/mapreducehadoop-mapreduce-examples-2.2.0.jar,请帮助运行这个 – user2631600

+0

你显然是缺少一个'/'!你应该这样使用它:'bin/yarn jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount/input/output' – Mehraban

+0

嗨SAM,我用这个样子root @ Prassanna:usr/local/hadoop:bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount/input/output它工作正常。我浏览和检查在用户界面也显示所有文件的字数 – user2631600

1

Hadoop的示例罐不再存在这里。

usr/local/hadoop/bin/hadoop 

从Hadoop的2.x版本,如山姆在他的回答正确指出的,你正在寻找的jar

$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

+0

经过验证并在Hadoop 2.4上运行 – serj

1

在我的Hadoop,我在2.4.1正在工作,所以命令是

的hadoop的jar $ HADOOP_HOME /股/的Hadoop/MapReduce的/ Hadoop的MapReduce的例子,2.4.1.jar wordcount/input/output