我正在努力学习mapreduce,但是我现在有点迷路了。
http://hadoop.apache.org/docs/r2.6.0/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapreducetutorial.html#usage
尤其是这套说明:
Compile WordCount.java and create a jar:
$ bin/hadoop com.sun.tools.javac.Main WordCount.java
当我输入时 hadoop
在我的终端中,我可以看到“帮助”,它提供了参数,所以我相信我已经安装了hadoop。
键入命令时:
编译wordcount.java并创建一个jar: hadoop com.sun.tools.javac.Main WordCount.java
我得到一个错误: Error: Could not find or load main class com.sun.tools.javac.Main
我知道我已经在我的电脑上安装了java,因为我以前用它来创建其他程序。
此命令输出:
$ /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home
也许我缺少一套java工具?不确定
3条答案
按热度按时间0x6upsns1#
我也犯了同样的错误。
我通过添加hadoop\u classpath环境参数解决了这个问题:
请确保已安装openjdk7。我使用的是ubuntu 14.04:
m1m5dgzv2#
这个
bin/hadoop com.sun.tools.javac.Main WordCount.java
最终以java com.sun.tools.javac.Main WordCount.java
.如果classpath/javahome是正确的,那么尝试键入
java ...
你自己,查一下名字com.sun.tools...
使用tab键。也许这个名字不合适(鸡蛋。您使用的是来自oracle而不是sun的java)另一个建议是修改
$HADOOP_HOME/etc/hadoop/hadoop-env.sh
. 添加tools.jar
进入HADOOP_CLASSPATH
.jexiocij3#
您不能安装jdk。检查java文件夹中的/lib/tools.jar。
如果没有,sudo apt get install default jdk,错误消失。