繁体   English   中英

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

[英]Could not find or load main class com.sun.tools.javac.Main hadoop mapreduce

我正在尝试学习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并且可以正常工作,因为在创建其他程序之前就已经使用过Java。

该命令输出:

$ /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home

也许我缺少一套Java工具? 不确定

我有同样的错误。

我通过添加HADOOP_CLASSPATH环境参数解决了它:

export HADOOP_CLASSPATH=/usr/lib/jvm/java-7-openjdk-amd64/lib/tools.jar

请确保您已安装OpenJDK7。 我正在使用Ubuntu 14.04:

sudo apt-get install openjdk-7-jdk

bin/hadoop com.sun.tools.javac.Main WordCount.java最终以java com.sun.tools.javac.Main WordCount.java身份运行。

如果您的类路径/ javahome是正确的,则尝试自己键入java ... ,并使用TAB键检查名称com.sun.tools... 名称可能不正确。 (例如,您使用的是Oracle的Java而不是SUN的Java)

另一个建议是修改$HADOOP_HOME/etc/hadoop/hadoop-env.sh tools.jar添加到HADOOP_CLASSPATH

您可能未安装jdk。 检查您的java文件夹中的/lib/tools.jar。
如果没有,请#sudo apt-get install default-jdk ,错误消失。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM