2013-12-11 139 views
3

我想運行一個例子,因爲它指出在Hadoop in Action book第15頁。 這是一個需要運行命令:什麼是「錯誤:無法找到或加載主類org.apache.hadoop.util.RunJar」?

bin/hadoop jar hadoop-*-examples.jar 

,但我得到這個錯誤

"Error: Could not find or load main class org.apache.hadoop.util.RunJar" 

似乎像一個類路徑問題或其他東西。有人能指出一些指導原則嗎?

其實我無法運行任何hadoop命令,如版本,fs,jar ...等等。

注:我正在使用Windows。

回答

2

[編輯] 好吧,我讀得太快了,你提到你也無法運行hadoop fs命令。我想你可能會錯過一些配偶,或者根本沒有啓動服務。嘗試按照這tutorial一步一步。


,你將需要在類名來傳遞,例如:

bin/hadoop jar hadoop-*-examples.jar org.apache.hadoop.examples.WordCount [input] [output] 
+1

感謝我也不曾忘記提及,我使用Windows :) – Adelin

+0

好了,我不認爲它有太多的區別。你可以運行'jps'檢查你的Namenode是否在運行? – zhutoulala

1

問題這可能是這麼晚回答,但任何方式。

只需檢查HADOOP_PREFIX環境變量是否設置正確(指向您的hadoop安裝目錄)。

+1

這個方式太模糊了,你說的hadoop安裝目錄是什麼意思,你能舉個例子嗎? –

1

你需要檢查你的環境變量HADOOP_PREFIX = /路徑/要/ Hadoop的

0

設置HADOOP_CLASSPATH如下您~/.bashrc爲我工作:

export HADOOP_CLASSPATH=$(cygpath -pw $(hadoop classpath)):$HADOOP_CLASSPATH

0

如文檔描述:http://hadoop.apache.org/docs/r2.6.5/hadoop-project-dist/hadoop-common/SingleCluster.html

您必須將HADOOP_PREFIX指向您的hadoop安裝文件夾。

這是一個示例腳本在單機模式下啓動:

#!/bin/bash 
cd /etc/hadoop-2.6.5/ 
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre 
export HADOOP_PREFIX=/etc/hadoop-2.6.5 

mkdir input 
cp etc/hadoop/*.xml input 
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.5.jar grep input output 'dfs[a-z.]+' 
cat output/* 
相關問題