2012-05-14 56 views
1

我下面這個指令來執行Hadoop:Hadoop的工作不工作

http://wiki.apache.org/hadoop/Running_Hadoop_On_OS_X_10.5_64-bit_(Single-Node_Cluster)

但是,我不能讓這個命令來工作:

hadoop-*/bin/hadoop jar hadoop-*-examples.jar grep input output 'dfs[a-z.]+'

所有我得到的是:

Exception in thread "main" java.io.IOException: Error opening job jar: /Users/hadoop/hadoop-1.0.1/hadoop-examples-1.0.1.jargrep 
    at org.apache.hadoop.util.RunJar.main(RunJar.java:90) 
Caused by: java.util.zip.ZipException: error in opening zip file 
    at java.util.zip.ZipFile.open(Native Method) 
    at java.util.zip.ZipFile.<init>(ZipFile.java:127) 
    at java.util.jar.JarFile.<init>(JarFile.java:135) 
    at java.util.jar.JarFile.<init>(JarFile.java:72) 
    at org.apache.hadoop.util.RunJar.main(RunJar.java:88) 

我將此添加到m y hadoop-env.sh

export HADOOP_OPTS="-Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk" 

但仍然是相同的錯誤。 任何線索?

+1

這是一個錯字:'錯誤打開工作的jar:/Users/hadoop/hadoop-1.0.1/hadoop-examples-1.0 .1.jargrep' - 看起來像你的命令行,jar名稱和示例作業'grep'之間沒有空格 –

+0

Oh oh silly :)現在輸出結果是:'Grep [] 支持的通用選項是... '和命令列表! – Ansd

回答

3

當運行下面的命令:

hadoop- /bin中/罐的hadoop hadoop- -examples.jar grep的輸入輸出 'DFS [AZ。] +'

  • grep是作爲示例的一部分的hadoop程序
  • input是您的源數據所在的文件夾,並且希望您在HDFS中創建它
  • 輸出是將作爲結果創建的文件夾。
  • 「DFS [A = -z。] +」是使用grep程序

使用的正則的選擇,因爲輸出是「的grep ......。」在我看來,實際的樣品當Hadoop命令運行時,應用程序類不可用或缺少一些信息。您需要首先檢查它,並查找適用於輸入數據的正則表達式。

+0

你能多解釋一下嗎? –

2

我知道這是舊的,但如果其他人有同樣的問題,看到這個問題,我想提出我做了什麼來解決這個問題,因爲它非常簡單。

它看起來像是示例指令中的拼寫錯誤。如果您查看Hadoop分發目錄,您會注意到被引用的示例文件被稱爲hadoop-examples-1.0.4.jar或您正在使用的任何版本。

所以不是:

hadoop-*/bin/hadoop jar hadoop-*-examples.jar grep input output 'dfs[a-z.]+' 

嘗試:

bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[a-z.]+' 
+0

謝謝你的回答! – Andrew