我正在尝试运行一个示例,因为它在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。
答案 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/*