【问题标题】:Can't execute the basic Hadoop Mapreduce Wordcount example无法执行基本的 Hadoop Mapreduce Wordcount 示例
【发布时间】:2017-02-02 14:08:05
【问题描述】:

我正在尝试运行WordCount example。但是我在编译程序时遇到了问题。

我得到错误:

错误:包 org.apache.hadoop.mapred 不存在

执行后:

javac -classpath /usr/local/hadoop/share/hadoop/common/hadoop-common-2.7.3.jar -d wordcount_classes WordCount.java

我使用这个tutorial 设置了hadoop。 我也在 stackoverflow 上查找了这个question 并在/usr/local/hadoop 中执行了bin/hadoop classpath 命令。这是我得到的输出:

/usr/local/hadoop/etc/hadoop:/usr/local/hadoop/share/hadoop/common/lib/*:/usr/local/hadoop/share/hadoop/common/*:/usr/local /hadoop/share/hadoop/hdfs:/usr/local/hadoop/share/hadoop/hdfs/lib/*:/usr/local/hadoop/share/hadoop/hdfs/*:/usr/local/hadoop/share/ hadoop/yarn/lib/* :/usr/local/hadoop/share/hadoop/yarn/* :/usr/local/hadoop/share/hadoop/mapreduce/lib/* :/usr/local/hadoop/share/hadoop /mapreduce/* :/contrib/capacity-scheduler/*.jar

但我不知道该怎么做,或者我的下一步应该是什么!请帮忙!

【问题讨论】:

    标签: java linux ubuntu hadoop mapreduce


    【解决方案1】:

    您正在尝试使用众多 hadoop 依赖项 jar (hadoop-common-x.x.x.jar) 之一编译源代码。包含错误消息中指出的 mapred 包的 jar 是 hadoop-mapreduce-client-core jar。

    我建议您使用 Maven 或 Gradle 等构建工具来构建您的源代码,因为它会为您管理传递依赖项。

    或者继续手动调用 javac,试试这样的方法(未经测试):

    javac -cp '/usr/local/hadoop/share/hadoop/common/*' \
      -cp '/usr/local/hadoop/share/hadoop/hdfs/lib/*' \
      -cp '/usr/local/hadoop/share/hadoop/hdfs/*' \
      -cp '/usr/local/hadoop/share/hadoop/yarn/lib/*' \
      -cp '/usr/local/hadoop/share/hadoop/yarn/*' \
      -cp '/usr/local/hadoop/share/hadoop/mapreduce/lib/*' \ 
      -cp '/usr/local/hadoop/share/hadoop/mapreduce/*' \
      -d wordcount_classes WordCount.java
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多