Ant编译MapReduce程序

本文记录Ant编译MapReduce程序的过程。

程序使用《Hadoop MapReduce Cookbook》中的示例代码。

1、安装Ant

Ant项目主页:http://ant.apache.org/

下载二进制安装包,例如apache-ant-1.9.4-bin.tar.gz,上传到Hadoop集群环境上,解压即完成安装。


[huser@master apache-ant-1.9.4]$ pwd
/home/huser/hadoop/apache-ant-1.9.4

2、下载示例程序

下载地址: http://www.packtpub.com/code_download/11101

上传并解压。


[huser@master hadoop]$ cd hadoop-1.2.1/72870S_Code/
[huser@master 72870S_Code]$ ll
总用量 40
drwxrwxr-x 4 huser huser 4096 4月 2 18:07 chapter1
drwxrwxr-x 4 huser huser 4096 4月 2 18:07 chapter10
drwxrwxr-x 4 huser huser 4096 4月 2 18:07 chapter2
drwxrwxr-x 5 huser huser 4096 4月 2 18:07 chapter3
drwxrwxr-x 3 huser huser 4096 4月 2 18:07 chapter4
drwxrwxr-x 5 huser huser 4096 4月 2 18:07 chapter5
drwxrwxr-x 6 huser huser 4096 4月 2 18:07 chapter6
drwxrwxr-x 3 huser huser 4096 4月 2 18:07 chapter7
drwxrwxr-x 5 huser huser 4096 4月 2 18:07 chapter8
drwxrwxr-x 3 huser huser 4096 4月 2 18:07 chapter9

3、编译程序


[huser@master HDFS_Java_API]$ pwd
/home/huser/hadoop/hadoop-1.2.1/72870S_Code/chapter2/HDFS_Java_API
[huser@master HDFS_Java_API]$ ll
总用量 8
-rw-rw-r-- 1 huser huser 794 4月 27 2012 build.xml
drwxrwxr-x 2 huser huser 4096 4月 2 18:07 src

运行Ant编译


[huser@master HDFS_Java_API]$ /home/huser/hadoop/apache-ant-1.9.4/bin/ant
Buildfile: /home/huser/hadoop/hadoop-1.2.1/72870S_Code/chapter2/HDFS_Java_API/build.xml

compile:
[mkdir] Created dir: /home/huser/hadoop/hadoop-1.2.1/72870S_Code/chapter2/HDFS_Java_API/build
[javac] Compiling 1 source file to /home/huser/hadoop/hadoop-1.2.1/72870S_Code/chapter2/HDFS_Java_API/build
[jar] Building jar: /home/huser/hadoop/hadoop-1.2.1/72870S_Code/chapter2/HDFS_Java_API/HDFSJavaAPI.jar

BUILD SUCCESSFUL
Total time: 59 seconds

编译成功,JAR包和CLASS


[huser@master HDFS_Java_API]$ ll
总用量 16
drwxrwxr-x 2 huser huser 4096 4月 18 03:06 build
-rw-rw-r-- 1 huser huser 794 4月 27 2012 build.xml
-rw-rw-r-- 1 huser huser 1199 4月 18 03:06 HDFSJavaAPI.jar
drwxrwxr-x 2 huser huser 4096 4月 2 18:07 src

[huser@master HDFS_Java_API]$ cd build
[huser@master build]$ ll
总用量 4
-rw-rw-r-- 1 huser huser 1447 4月 18 03:06 HDFSJavaAPIDemo.class

4、运行程序


[huser@master HDFS_Java_API]$ ~/hadoop/hadoop-1.2.1/bin/hadoop jar HDFSJavaAPI.jar HDFSJavaAPIDemo
Warning: $HADOOP_HOME is deprecated.

hdfs://master:9000
Welcome to HDFS Java API!!!

Ant编译MapReduce程序,布布扣,bubuko.com

时间: 2024-08-03 23:49:37

Ant编译MapReduce程序的相关文章

hadoop-初学者写map-reduce程序中容易出现的问题 3

1.写hadoop的map-reduce程序之前所必须知道的基础知识: 1)hadoop map-reduce的自带的数据类型: Hadoop提供了如下内容的数据类型,这些数据类型都实现了WritableComparable接口,以便用这些类型定义的数据可以被序列化进行网络传输和文件存储,以及进行大小比较.(如果是自定义的key,value的数据类型,必须也要写其大小比较的方法) BooleanWritable:标准布尔型数值 ByteWritable:单字节数值 DoubleWritable:

使用Eclipse编译运行MapReduce程序 Hadoop2.6.0_Ubuntu/CentOS

文章来源:http://www.powerxing.com/hadoop-build-project-using-eclipse/ 使用Eclipse编译运行MapReduce程序 Hadoop2.6.0_Ubuntu/CentOS 本教程介绍的是如何在 Ubuntu/CentOS 中使用 Eclipse 来开发 MapReduce 程序,在 Hadoop 2.6.0 下验证通过.虽然我们可以使用命令行编译打包运行自己的MapReduce程序,但毕竟编写代码不方便.使用 Eclipse,我们可以

hadoop——在命令行下编译并运行map-reduce程序 2

hadoop map-reduce程序的编译需要依赖hadoop的jar包,我尝试javac编译map-reduce时指定-classpath的包路径,但无奈hadoop的jar分布太散乱,根据自己写的程序来一个个指定jar包的位置又太麻烦,于是又尝试修改java的classpath配置文件,结果不知道为什么编译时还是提示找不到jar包,于是只有用最后一劳永逸的方法:把hadoop的所有jar包都copy到java当前classpath寻找的路径文件中: 我的hadoop安装在/usr/loca

6.命令行编译打包运行五个MapReduce程序

对于如何编译WordCount.java,对于0.20 等旧版本版本的做法很常见,具体如下: javac -classpath /usr/local/hadoop/hadoop-1.0.1/hadoop-core-1.0.1.jar WordCount.java 但较新的 2.X 版本中,已经没有 hadoop-core*.jar 这个文件,因此编辑和打包自己的MapReduce程序与旧版本有所不同. Hadoop 2.x 版本中的依赖 jar Hadoop 2.x 版本中jar不再集中在一个

使用命令行编译打包运行MapReduce程序

本文地址:http://www.cnblogs.com/myresearch/p/mapreduce-compile-jar-run.html,转载请注明源地址. 对于如何编译WordCount.java,对于0.20 等旧版本版本的做法很常见,具体如下: javac -classpath /usr/local/hadoop/hadoop-1.0.1/hadoop-core-1.0.1.jar WordCount.java 但较新的 2.X 版本中,已经没有 hadoop-core*.jar 这

使用命令行编译打包运行自己的MapReduce程序 Hadoop2.6.0

使用命令行编译打包运行自己的MapReduce程序 Hadoop2.6.0 网上的 MapReduce WordCount 教程对于如何编译 WordCount.java 几乎是一笔带过… 而有写到的,大多又是 0.20 等旧版本版本的做法,即 javac -classpath /usr/local/hadoop/hadoop-1.0.1/hadoop-core-1.0.1.jar WordCount.java,但较新的 2.X 版本中,已经没有 hadoop-core*.jar 这个文件,因此

使用Eclipse运行Hadoop 2.x MapReduce程序常见问题

1. 当我们编写好MapReduce程序,点击Run on Hadoop的时候,Eclipse控制台输出如下内容: 这个信息告诉我们没有找到log4j.properties文件.如果没有这个文件,程序运行出错的时候,就没有打印日志,因此我们会很难调试. 解决方法:复制$HADOOP_HOME/etc/hadoop/目录下的log4j.properties文件到MapReduce项目 src文件夹下. 2.当执行MapReduce程序的时候,Eclipse可能会报告堆益处的错误. 此时,MapRe

学习的一个MapReduce程序(《beginner`s guide》中的例子)

第一个MR程序是实现关系型数据库中经常都会遇到的表连接操作,也就是join.这里是连接sales和accounts表,通过共同的ID列进行连接.同时统计出总的购买件数以及总的消费额. 下面是两个示例数据,一个是sales.txt,另一个是accounts.txt. 首先是sales.txt: 001 35.99 2012-03-15 002 12.49 2004-07-02 004 13.42 2005-12-20 003 499.99 2010-12-20 001 78.95 2012-04-

使用ant编译项目技巧

ant编译时指定jdk的版本 系统的jdk版本是1.6,而项目使用的jdk版本是1.5,所以在编译时需要指定jdk的版本为1.5,可以使用下面的方法为javac 任务指定fork和executable,是用指定编译器编译,这个方法更灵活,您甚至可以指定非sun公司的java编译器.详见:6.5节 编译时忽略指定的java文件 在编译时可能有的包下面的java文件不需要编译,那么就可以使用这个用法,详见:6.5节 打包时忽略指定的class文件 在打包时可能有的class文件不想打入到包中,那么就