溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Ant如何構(gòu)建Hadoop程序

發(fā)布時間:2021-12-09 15:27:08 來源:億速云 閱讀:146 作者:小新 欄目:云計算

這篇文章給大家分享的是有關(guān)Ant如何構(gòu)建Hadoop程序的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

1、環(huán)境描述

Hadoop環(huán)境:VirtualBox5(三臺),CentOS7,Hadoop2.7.1

開發(fā)環(huán)境:Windows7

2、詳細(xì)配置

2.1、project結(jié)構(gòu)一覽

Ant如何構(gòu)建Hadoop程序

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

Ant如何構(gòu)建Hadoop程序

3、運行示例

Ant如何構(gòu)建Hadoop程序

感謝各位的閱讀!關(guān)于“Ant如何構(gòu)建Hadoop程序”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI