This website requires JavaScript.

Hadoop:编译并执行MapReduce程序

本以Hadoop – The Definitive Guide,4th Edition 中第二章的 MaxTemperature为例进行讲解.

环境Hadoop 2.6.3 ,伪分布式。

一、添加Hadoop类路径

使用hadoop classpath命令可以获取Hadoop相关全部类路径。把他们添加到我们的系统变量中,这样编译java程序的时候就不需要指定类路径了。

export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath):$CLASSPATH

二、下载源码并编译

直接在本书官方GitHub 获取样例代码及练习文件, 在ch02-mr-into目录中找到我们的源码并进行编译:

javac MaxTemperature.java
因为上一步已经添加Hadoop的类,因此不会再报错.

三、把编译好的class文件打包成jar

jar cvfm MaxTemperature.jar manifest.txt *.class
可参考我另一篇博文 [Java-创建JAR文件](http://www.bihell.com/java%e5%88%9b%e5%bb%bajar%e6%96%87%e4%bb%b6/ "Java-创建JAR文件")

四、执行MapReduce程序

因为是伪分布式的关系,需要把我们样本文件放到HDFS文件系统中,具体操作可参考另一篇博文 Hadoop 架构初探

hadoop jar MaxTemperature.jar sample.txt output
最终结果如下:

image

五、Idea 编辑MapReduce程序并执行

这里有两篇文章写的很清楚,直接参考即可。

搭建IntelliJ+Maven的Hadoop开发环境 Intellij IDEA 搭建Hadoop开发环境

0条评论
avatar