Ant构建Hadoop程序(Hadoop-2.7.1)

1、环境描述

Hadoop环境:VirtualBox5(三台),CentOS7,Hadoop2.7.1

开发环境:Windows7

2、详细配置

2.1、project结构一览

2.2、build.xml

<?xml version="1.0" encoding="UTF-8"?>

<project name="wukong-practice-hadoop2" default="package" basedir="." >
    <property name="src.dir.main.java" location="src/main/java"/>
    <property name="src.dir.main.resources" location="src/main/resources"/>
    <property name="build.dir" location="build"/>
    <property name="build.dir.classes" location="build/classes"/>
    <property file="build.properties"/>
    <property name="jar.name" value="shell-0.1-snapshot.jar"/>

    <path id="classpath">
        <!--<pathelement location="${build.dir.classes}"/>-->
        <path refid="hadoop-classpath"/>
        <path refid="hadoop-depend-classpath"/>
    </path>

    <path id="hadoop-classpath">
        <fileset dir="${hadoop.dir}/share/hadoop/common">
            <include name="**/*.jar"/>
        </fileset>
        <fileset dir="${hadoop.dir}/share/hadoop/hdfs">
            <include name="**/*.jar"/>
        </fileset>
        <fileset dir="${hadoop.dir}/share/hadoop/mapreduce">
            <include name="**/*.jar"/>
        </fileset>
        <fileset dir="${hadoop.dir}/share/hadoop/yarn">
            <include name="**/*.jar"/>
        </fileset>
    </path>

    <path id="hadoop-depend-classpath">
        <fileset dir="${hadoop.dir}/share/hadoop/common/lib">
            <include name="**/*.jar"/>
        </fileset>
        <fileset dir="${hadoop.dir}/share/hadoop/hdfs/lib">
            <include name="**/*.jar"/>
        </fileset>
        <fileset dir="${hadoop.dir}/share/hadoop/mapreduce/lib">
            <include name="**/*.jar"/>
        </fileset>
        <fileset dir="${hadoop.dir}/share/hadoop/yarn/lib">
            <include name="**/*.jar"/>
        </fileset>
    </path>

    <target name="info">
        <echo>build wukong-practice-hadoop2....</echo>
        <echo>hadoop-path: ${hadoop.path}</echo>
    </target>

    <target name="clean">
        <delete dir="${build.dir}/**"/>
    </target>

    <target name="compile" depends="clean">
        <mkdir dir="${build.dir.classes}"/>
        <copy todir="${build.dir.classes}" verbose="true">
            <fileset dir="${src.dir.main.resources}">
                <exclude name="META-INF/**"/>
            </fileset>
        </copy>
        <javac srcdir="${src.dir.main.java}" destdir="${build.dir.classes}"
               source="1.7" target="1.7" encoding="${compile.encoding}"
               classpathref="classpath" includeantruntime="false">
            <!--<classpath refid="classpath"/>-->
        </javac>
    </target>

    <target name="package" depends="compile">
        <pathconvert property="jar.classpath" pathsep=" " refid="classpath">
            <map from="${hadoop.dir}" to="${hadoop.dir.linux}"/>
        </pathconvert>
        <!--<pathconvert property="jar.classpath" pathsep=" ">
            <mapper>
                <chainedmapper>
                    <flattenmapper/>
                    <globmapper from="*" to="lib/*"/>
                </chainedmapper>
            </mapper>
            <path refid="classpath"/>
        </pathconvert>-->
        <jar destfile="${build.dir}/${jar.name}" basedir="${build.dir.classes}">
             <!--manifest="${src.main.resources}/META-INF/MANIFEST.MF">-->
            <manifest>
                <attribute name="Main-Class" value="band.wukong.practice.hadoop2.Commander"/>
                <attribute name="Class-Path" value="${jar.classpath}"/>
            </manifest>
        </jar>
    </target>

</project>

2.3、build.properties

version=0.1.0
compile.encoding=UTF-8
hadoop.dir=D:/Lab/lib/hadoop/hadoop-2.7.1
hadoop.dir.linux=/user/wukong/local/hadoop-2.7.1

2.4、看一眼生成的MANIFEST.MF

3、运行示例

时间: 2024-11-10 09:16:19

Ant构建Hadoop程序(Hadoop-2.7.1)的相关文章

Eclipse导入Hadoop源码项目及编写Hadoop程序

一 Eclipse导入Hadoop源码项目 基本步骤: 1)在Eclipse新建一个java项目[hadoop-1.2.1] 2)将Hadoop压缩包解压目录src下的core,hdfs,mapred,tools,example四个目录copy到上述新建项目的src目录下 3)右击选择 Build Path,修改Java Build Path中[Source],删除src,添加src/core,src/hdfs,src/mapred,src/tools几个源码目录: 4)在项目中新建一个lib目

ant编译后用hadoop报Could not find or load main class

错误信息: [[email protected] HDFS_Java_API]$ hadoop HDFSJavaAPI.jar HDFSJavaAPIDemo Warning: $HADOOP_HOME is deprecated. Error: Could not find or load main class HDFSJavaAPI.jar 报错原因: 当前运行的 .class  文件不在 hadoop-env.sh文件中 解决办法: 在 hadoop-env.sh中配置HADOOP_CLA

运行第一个Hadoop程序,WordCount

系统: Ubuntu14.04 Hadoop版本: 2.7.2 参照http://www.cnblogs.com/taichu/p/5264185.html中的分享,来学习运行第一个hadoop程序. 在hadoop的安装文件夹 /usr/local/hadoop下创建input文件夹 [email protected]:/usr/local/hadoop$ mkdir ./input 然后copy几个文档到input文件夹中作为WordCount的输入 [email protected]:/u

“肢解”Hadoop程序基础模板

分布式编程相对复杂,而Hadoop本身蒙上大数据.云计算等各种面纱,让很多初学者望而却步.可事实上,Hadoop是一个很易用的分布式编程框架,经过良好封装屏蔽了很多分布式环境下的复杂问题,因此,对普通开发者来说很容易,容易到可以照葫芦画瓢. 大多数Hadoop程序的编写可以简单的依赖于一个模板及其变种.当编写一个新的MapReduce程序时,我们通常采用一个现有的MapReduce程序,通过修改达到我们希望的功能就行了.对于写大部分的Hadoop程序来说几乎就是照葫芦画瓢. 使用 Java 语言

hadoop程序MapReduce之WordCount

需求:统计一个文件中所有单词出现的个数. 样板:word.log文件中有hadoop hive hbase hadoop hive 输出:hadoop 2 hive 2 hbase 1 MapReduce设计方式: 一.Map过程<k,v>键值队的设计: 1.按行将文本文件切割成 <k1,v1>,k1代表:行在文件中的位置,v1代表:一行数据.多少个<k1,v1>就调用多少次map()方法. 2.在map()方法中将一行数据按照空格继续分割成<k2,v2>,

编写hadoop程序并打成jar包上传到hadoop集群运行

准备工作: 1. hadoop集群(我用的是hadoop-2.7.3版本),这里hadoop有两种:1是编译好的hadoop-2.7.3:2是源代码hadoop-2.7.3-src: 2. 自己的机器可以是任何系统,只要支持JVM,自己的主机上必须有eclipse,以及hadoop-2.7.3和hadoop-2.7.3-src.(我用的是windows系统,为了方便Linux系统传输数据,我选用了FileZilla,一款ftp工具,具体见www.cnblogs.com/NongSi-Net/p/

Hadoop实战 Hadoop Pipes运行C++程序问题解决

说明:我使用的是hadoop-1.2.1,开发环境是OpenSuSE12.3 x64. Hadoop安装在/usr/lib/hadoop下.并且我的hadoop的相关指令已经加入到了系统的path中. 下面四篇有我解决问题时,所主要参考的文档: 1.http://www.cnblogs.com/lanxuezaipiao/p/3648853.html 该博客指出64位的libhadooppipes.a和   libhadooputils.a这两个库应该由我们自己编译,官方提供的是32位的库. 2

第一个hadoop程序(hadoop2.4.0集群+Eclipse环境)

一.Eclipse hadoop环境配置  1. 在我的电脑右键->属性->高级系统设置->环境变量,配置环境变量: JAVA_HOME=D:\ProgramFiles\Java\jdk1.7.0_67, HADOOP_HOME=D:\TEDP_Software\hadoop-2.4.0, PATH=.;%JAVA_HOME%\bin;%HADOOP_HOME%\bin; 2. 在Eclipse中安装好hadoop-eclipse-kepler-plugin-2.2.0.jar插件,并配

【爬坑】在 IDEA 中运行 Hadoop 程序 报 winutils.exe 不存在错误解决方案

0. 问题说明 环境为 Windows 10 在 IDEA 中运行 Hadoop 程序报   winutils.exe 不存在  错误 1. 解决方案 [1.1 解压] 解压 hadoop-2.7.3.zip 文件到自定义目录 [1.2 配置 Hadoop 环境变量] 新建HADOOP_HOME,变量值为D:\program\hadoop-2.7.3 添加PATH,添加%HADOOP_HOME%\bin;%HADOOP_HOME%\sbin [1.3 重启 IDEA] [ 1.4 测试配置 ]

构建应用程序的工具

构建 这里搜集了用来构建应用程序的工具. Apache Maven:Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建.Maven优于Apache Ant.后者采用了一种过程化的方式进行配置,所以维护起来相当困难. Gradle:Gradle采用增量构建.Gradle通过Groovy编程而不是传统的XML声明进行配置.Gradle可以很好地配合Maven进行依赖管理,并且把Ant脚本当作头等公民. 字节码操作 编程操作Java字节码的函数库. ASM:通用底层字节码操作及