2013-12-11 124 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/* 
相关问题