在hadoop集群上运行mapreduce java程序

时间:2012-05-08 06:38:12

标签: java hadoop mapreduce cluster-computing

我正在学习使用hadoop集群。我已经在hadoop流上工作了一段时间,我在perl / python中编写了map-reduce脚本并运行了这个工作。 但是,我没有找到任何关于运行java map reduce作业的好解释。 例如: 我有以下程序 -

http://www.infosci.cornell.edu/hadoop/wordcount.html

有人可以告诉我如何编译这个程序并运行这个工作。

1 个答案:

答案 0 :(得分:6)

创建一个目录来保存已编译的类:

  

mkdir WordCount_classes

编译你的班级:

  

javac -classpath $ {HADOOP_HOME} / hadoop - $ {HADOOP_VERSION} -core.jar -d WordCount_classes WordCount.java

从已编译的类中创建一个jar文件:

  

jar -cvf $ HOME / code / hadoop / WordCount.jar -CwordCount_classes /。

为您的输入创建一个目录并将所有输入文件复制到其中,然后按如下方式运行您的作业:

  

bin / hadoop jar $ HOME / code / WordCount.jar WordCount $ {INPUTDIR} $ {OUTPUTDIR}

您的作业输出将放在$ {OUTPUTDIR}目录中。此目录由Hadoop作业创建,因此请确保在运行作业之前它不存在。

有关完整示例,请参阅here