我正在尝试运行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 . I also looked this up on 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
但我不知道该怎么做,或者我的下一步应该是什么!请帮忙!
1 回答
您正在尝试使用众多hadoop依赖项jar(hadoop-common-x.x.x.jar)中的一个来编译源代码 . 包含错误消息中记录的mapred包的jar是hadoop-mapreduce-client-core jar .
我建议您使用Maven或Gradle等构建工具来构建源代码,因为它将为您管理传递依赖项 .
或者继续手动调用javac,尝试这样的(未经测试):