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

标签 java hadoop mapreduce hadoop2

我正在尝试学习 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

我得到错误:

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

我知道我已经安装了 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

关于java - 无法找到或加载主类 com.sun.tools.javac.Main hadoop mapreduce,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45161319/

相关文章:

java - 通过 httpclient 3.x 模拟 HTTP POST 以获得多个选项

linux - root 或非 root 用户的 HDFS start-all.sh

java - 如何从 MapReduce 中引用本地 HDFS 文件?

java - 使用 MultipleOutputs 时如何在 Hadoop 中命名文件?

hadoop - 说 “hadoop is a hyper-converged Infrastructure application”是否公平?

hadoop - 使用Spark转换文件压缩格式

hadoop - 在 reudcer 类中使用全局变量

java - Thrift 是否有 IPC 传输实现?或低延迟 SOA 解决方案

java - Eclipse 扩展点与手动编程访问

java - 如何使用 jsoup 解析没有 Id 标记的表。