什么是“错误:无法找到或加载主类org.apache.hadoop.util.RunJar”?

时间:2013-12-11 14:44:59

标签: java hadoop

我正在尝试运行一个示例,因为它在Hadoop in Action book第15页中指出。 这是需要运行的命令:

bin/hadoop jar hadoop-*-examples.jar

但我收到此错误

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

这似乎是一个类路径问题。有人可以指出一些指导方针吗?

实际上我无法运行任何hadoop命令,如版本,fs,jar ......等等。

注意:我正在使用Windows。

6 个答案:

答案 0 :(得分:2)

将帖子 好的,我阅读速度太快,你提到你也无法运行hadoop fs命令。我想你可能会错过一些配置或根本没有启动服务。请尝试逐步执行此tutorial


您需要传递类名,例如:

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

答案 1 :(得分:2)

好的,跟随this article我能够解决Ubuntu上的问题

答案 2 :(得分:1)

答案可能是这么晚,但无论如何。

只需检查HADOOP_PREFIX环境变量是否设置正确(指向您的hadoop安装目录)。

答案 3 :(得分:1)

你需要检查你的环境变量HADOOP_PREFIX = / path / to / hadoop

答案 4 :(得分:0)

HADOOP_CLASSPATH为我工作时设置~/.bashrc如下:

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

答案 5 :(得分: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/*