无法找到或加载主类com.sun.tools.javac.main hadoop mapreduce

无法找到或加载主类com.sun.tools.javac.main hadoop mapreduce,java,hadoop,mapreduce,hadoop2,Java,Hadoop,Mapreduce,Hadoop2,我正在努力学习MapReduce,但我现在有点迷路了 特别是这套说明: 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.Mai

我正在努力学习MapReduce,但我现在有点迷路了

特别是这套说明:

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

我得到一个错误:

错误:无法找到或加载主类com.sun.tools.javac.main

我知道我已经安装了Java并在我的计算机上工作,因为我以前使用过它来创建其他程序

此命令输出:

$ /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home
也许我缺少一套Java工具?不确定我也犯了同样的错误

我通过添加HADOOP_类路径环境参数解决了这个问题:

export HADOOP_CLASSPATH=/usr/lib/jvm/java-7-openjdk-amd64/lib/tools.jar
请确保已安装OpenJDK7。我正在使用Ubuntu 14.04:

sudo apt-get install openjdk-7-jdk

您不能安装jdk。检查java文件夹中的/lib/tools.jar

如果没有,sudo apt get install default jdk,错误消失。

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\u HOME/etc/HADOOP/HADOOP env.sh
。将
tools.jar
添加到
HADOOP\u类路径中

是您的Wordcount.java位于bin/HADOOP目录中。您是否可以运行它。可能与文档(教程)中最初所述的重复: