2014-03-12 90 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