java无法找到或加载主类com。太阳工具。javac。主hadoop mapreduce
我正在努力学习MapReduce,但我现在有点迷路了
特别是这组说明:
Compile WordCount.java and create a jar:
$ bin/hadoop com.sun.tools.javac.Main WordCount.java
当我在终端中输入hadoop
时,我能够看到“帮助”,它提供了参数,所以我相信我已经安装了hadoop
当我输入命令时:
编译字数。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工具?不确定
# 1 楼答案
我也犯了同样的错误
我通过添加HADOOP_类路径环境参数解决了这个问题:
请确保已安装OpenJDK7。我使用的是Ubuntu 14.04:
# 2 楼答案
您不能安装jdk。检查你的/lib/工具。jar在java文件夹中
否则,#sudo apt get install default jdk,错误消失
# 3 楼答案
该
bin/hadoop com.sun.tools.javac.Main WordCount.java
最终以java com.sun.tools.javac.Main WordCount.java
如果classpath/javahome是正确的,那么尝试自己键入
java ...
,并使用TAB键检查名称com.sun.tools...
。也许这个名字不合适。(egg.您使用的是来自Oracle而不是SUN的java)另一个建议是修改
$HADOOP_HOME/etc/hadoop/hadoop-env.sh
。将tools.jar
添加到HADOOP_CLASSPATH