Hadoop基础(九) --- Ubuntu和Eclipse运行MR作业,win安装hadoop,Ant脚本实现快速打包,MR底层通信原理分析流程图

一、combiner 
--------------------------------- 
    降低网络负载
    
    
二、Ubuntu Hadoop 运行分布式作业
-----------------------------------
    1.启动hadoop集群
        start-dfs.sh
        start-yarn.sh
        注意:注释掉HA
    
    2.将MR作业程序导出成jar包
        eclipse --> export --> myhadoop.2.7.2.jar
        
    3.准备数据,将1901 和 1902 气象数据,put到hdfs
    
    4.运行 hadoop jar命令
        hadoop jar myhadoop.2.7.2.jar test.mapreduce.MaxTemperature

        
三、Ubuntu Eclipse 下运行MR作业
---------------------------------------------
    1.启动hadoop集群
        start-dfs.sh
        start-yarn.sh
        注意:注释掉HA
    
    2.在eclipse src目录下,添加自定义配置文件
        core-site.xml 
            fs.defaultFS = hdfs://s100:8020
        mapped-site.xml
            mapreduce.framework.name = yarn
        yarn-site.xml
            yarn.resourcemanager.hostname = s100
            
    3.export jar --> bulid to path
    
    4.运行app.main函数


四、MR作业--计数器Counter
----------------------------------------------
    context.getCounter("g-1", "name").increment(1);
        

五、windows 上安装 hadoop 2.7.2 ,但是只能用作客户端
------------------------------------------------
    1.下载并解压安装包--注意解压路径不要有中文和空格
    
    2.配置环境变量
        HADOOP_HOME="解压路径"
        path= ... %HADOOP_HOME%/bin;%HADOOP_HOME%/sbin
    
    3.验证安装成功与否
        hadoop version
    
    4.修改配置文件
        core-site.xml
        hdfs-site.xml
        mapred-site.xml
    
    6.将winutils.exe 和  hadoop.dll 复制到 %hadoop_home%/bin目录下
        
        
六、Eclipse 上安装 hadoop插件
-----------------------------------------------
    1.下载并解压  hadoop2x-eclipse-plugin.zip
    
    2.找到三个jar文件,[hadoop2x-eclipse-plugin/release],拷贝到eclipse安装路径的luugins下[C:\Program Files (x86)\eclipse\eclipse\plugins]��
    
    3.打开eclipse配置插件
        eclipse--> 首选项 --> hadoop --> install dir --> 选择自己的hadoop安装路径
    
    4.打开 eclipse的 mapreduce 透视图
    
    5.在 底部控制台区域,找到 Map/Reduce Location ,然后 右键空白处,选择 new hadoop location
    
    6.填写好自己对应的host和ip,点击finish完成


七、在Eclipse 中编写ant脚本
------------------------------------------------
    1.eclipse中已经集成好ant插件了
    2.使用ant脚本,进行快速的一键式打包
    
    <project name = "mytest03" basedir = "." default="finish">        
        <!-- 1.准备工作  -->
        <target name = "prepare">
            
            <!-- a.删除目录和文件-->
            <delete dir = "${basedir}/build" />
            <delete file = "${basedir}/lib/my.jar" />
    
            <!-- b.创建目录-->
            <mkdir dir="${basedir}/build/classes"/>
            <mkdir dir="${basedir}/lib"/>
                
        </target>
        
        <!-- 2.定义变量:路径变量,包含所有用到的jar包  -->
        <path id="mypath">
            <fileset dir = "D:\share\hadoop_2.7.2\hadoop-2.7.2\hadoop-2.7.2\_libs">
                <include name = "*.jar" />            
            </fileset>        
        </path>
        
        <!-- 3.编译程序 -->
        <target name="compile" depends="prepare">
            <javac srcdir="${basedir}/src" destdir="${basedir}/build/classes">
                <classpath refid="mypath"></classpath>        
            </javac>            
        </target>
        
        <!-- 4.拷贝文件,将配置文件拷贝到classes下,一起打成jar包 -->
        <target name="copy" depends="compile">
                <copy file="${basedir}/conf/core-site.xml"  todir="${basedir}/build/classes"></copy>            
                <copy file="${basedir}/conf/mapred-site.xml"  todir="${basedir}/build/classes"></copy>            
                <copy file="${basedir}/conf/yarn-site.xml"  todir="${basedir}/build/classes"></copy>            
        </target>    
        
        <!-- 5.打jar包操作-->
        <target name="package" depends="copy">    
            <jar destfile="${basedir}/lib/my.jar" basedir="${basedir}/build/classes"></jar>
        </target>
        
        <!-- 6.完成工作,输出done! -->
        <target name="finish" depends="package">    
                <echo> well done !!</echo>
        </target>
    </project>
    
    

八、MR底层通信原理分析流程图
---------------------------------------------------------------------------------------------------

    

猜你喜欢

转载自blog.csdn.net/xcvbxv01/article/details/82109564