`
flyingdutchman
  • 浏览: 358439 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Hadoop深入学习:再谈MapReduce作业提交和执行

阅读更多
        在本章中,我们将来重温一下和Hadoop的作业提交和执行流程。
        看下图,我们来比较详细的学习一下该流程:

       
        从上图中可以看出,分为4个阶段:
        Job作业提交
        1、 编写MapReduce job程序,通过命令行向Hadoop提交并开始执行作业:
引用

        # hadoop  fs  -put  xxx.jar  /path      //或者使用hadoop  fs  -copyFromLocal  xxx.jar  /path 向copy文件
        # chown -R hadoop xxx.jar
        # chgrp -R hadoop xxx.jar
        # hadoop jar xxx.jar package.ClassName input_path output_path

       

        客户端实际上是通过JobClient的submitJobInternal提交作业的。
        2、本次运行,NameNode节点会首先检查用户权限和提交参数是否正确,通过后生成一个job,于是JobClient向JobTracker申请一个JobID用于标识这个job;
        3、JobClient将Job所需要的资源提交到HDFS中一个以JobID命名的目录中,这些资源包括Jar包、配置文件、InputSplit元数据信息等;
        4、JobClient通过调用submitJob()向JobTracker告知Job也准备好,提交这个Job;

        Job初始化
        5、JobTracker初始化Job,当JobTracker接收到客户端submitJob()方法,会将该作业提交到内部的作业调度队列,并做相关的初始化操作,如生成JobInProgress对象和Map或Reduce Task列表等;
        6、JobTracker通过JobID从HDFS获取这个Job的Split等信息;
       
        任务分配(Task Assignment)
        7、TaskTrackers节点周期性的通过心跳Heartbeat向JobTracker节点汇报自己的相关信息,如“自己”还活着、可以接受新任务等,然后然后JobTracker或根据一定的作业调度算法给TaskTrackers节点分配一个Map Task和Reduce Task任务;

        任务执行(Task Execution)
        8、TaskTracker节点在获得JobTracker指派给的任务后,会到中获取当前任务相关的资源;
        9、TaskTracker启动会给分配给自己的任务启动一个JVM;
        10、最后在新启动的JVM中开始执行Mapper或Reducer Task任务。

       
  • 大小: 43.2 KB
分享到:
评论

相关推荐

    Hadoop技术内幕 深入理解MapReduce架构设计与实现原理 高清完整中文版PDF下载

    - **性能优化**:通过调整参数设置、改进数据存储格式等方式提高MapReduce作业的执行效率。 - **多用户作业调度器**:支持多用户同时提交作业,并合理分配资源,确保系统的公平性和响应速度。 - **安全机制**:...

    Hadoop技术内幕 深入解析MapReduce架构设计与实现原理[董西成][带书签].pdf 百度网盘下载

    根据提供的文件信息,本文将深入解析《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》这本书中的关键知识点,主要包括Hadoop的核心组件——MapReduce的设计理念、架构组成及其具体的实现原理。 ### Hadoop...

    udacity-hadoop-mapreduce:Udacity Hadoop MapReduce 课程最终项目作业的答案

    5. **部署和运行**:将作业提交到Hadoop集群,处理大规模数据,并监控作业执行情况。 6. **结果分析**:根据输出结果,进行数据分析,得出结论或洞察。 通过完成Udacity Hadoop MapReduce课程的最终项目作业,学习...

    Hadoop mapreduce实现wordcount

    【标题】Hadoop MapReduce 实现 WordCount ...通过理解和实践 Hadoop MapReduce 的 WordCount 示例,开发者可以快速掌握 MapReduce 的基本工作原理,为进一步学习和应用大数据处理技术打下坚实基础。

    精选_大数据Hadoop平台2-2、MapReduce_源码打包

    通过学习和实践Hadoop MapReduce的源码打包,开发者不仅可以深入理解MapReduce的工作原理,还能提升在大数据环境下的编程能力,为处理大规模数据集提供强大的工具。同时,这也为后续学习Hadoop的其他组件,如Hive、...

    大数据-hadoop-mapreduce代码

    在大数据处理领域,Hadoop MapReduce 是一个至关重要的组件,它为海量数据的...通过研究这些代码,你可以学习到如何处理Hadoop集群上的大规模数据,如何编写高效的Mapper和Reducer,以及如何设置和调优MapReduce作业。

    大数据实验5实验报告:MapReduce 初级编程实践

    运行这个MapReduce作业时,我们需要配置Hadoop环境,指定输入文件(A和B)的位置以及输出文件(C)的路径。通过Hadoop的`Job`类和相关输入输出格式类,可以设置这些参数并提交作业到Hadoop集群执行。 总结起来,这...

    Hadoop平台搭建(单节点,伪分布,分布式文件系统及其上MapReduce程序测试)

    然后,你可以像在分布式环境中一样提交MapReduce作业进行测试。 总的来说,搭建Hadoop平台涉及多个环节,包括软件的下载安装、环境变量的配置、SSH的设置以及Hadoop配置文件的修改。这个过程对于理解Hadoop的工作...

    Hadoop技术内幕:深入解析YARN架构设计与实现原理-高清文字版.pdf

    通过深入学习《Hadoop技术内幕:深入解析YARN架构设计与实现原理》,读者可以全面了解YARN如何工作,如何解决大数据处理中的挑战,以及如何根据业务需求优化YARN配置。这将对理解Hadoop生态系统的运作、进行大数据...

    Hadoop应用系列2--MapReduce原理浅析(上)

    Hadoop提供了丰富的工具来支持MapReduce作业的管理和调试,包括`hadoop jar`命令用于提交作业,`hadoop fs`用于文件系统操作,以及`job`和`task`命令用于查看作业和任务的状态。 总结,MapReduce是Hadoop处理大数据...

    大数据实验四-MapReduce编程实践

    1. **理解MapReduce的工作原理**:深入学习MapReduce的工作机制,理解其分布式计算的优势。 2. **实际编程经验积累**:通过编写MapReduce程序,积累了实际编程经验,熟悉了Hadoop和MapReduce的API。 3. **分布式计算...

    java操作hadoop之mapreduce分析年气象数据最低温度实战源码

    通过这个实战项目,学习者不仅可以掌握Java操作Hadoop MapReduce的基本方法,还能深入了解大数据处理流程,以及如何从海量气象数据中提取有价值的信息。此外,对于提升数据处理能力和分布式计算的理解也大有裨益。...

    hadoop demo wordcount

    3. `Driver`类:配置和启动MapReduce作业,指定输入和输出路径,以及Mapper和Reducer类。 学习Hadoop WordCount实例,你可以深入了解以下知识点: 1. Hadoop环境搭建:包括安装Hadoop,配置Hadoop集群(单机或伪...

    005_hadoop中MapReduce详解_2

    在Hadoop生态系统中,MapReduce是一种分布式计算框架,它允许我们处理海量数据并行化,非常适合大规模数据集的处理...通过阅读和分析像`TestMR.java`这样的源代码,我们可以深入学习并熟练运用MapReduce解决实际问题。

    Java操作Hadoop Mapreduce基本实践源码

    在大数据处理领域,Hadoop MapReduce是一个至关重要的组件,它为海量数据的并行处理提供了分布式计算框架。本文将深入探讨如何使用...通过深入学习和实践,开发者可以利用Hadoop MapReduce解决大数据处理中的各种问题。

    最新Hadoop学习笔记

    3. 运行MapReduce作业,通过`Job`对象设置作业参数并提交。 ### 六、Hadoop与JavaWeb整合 在实际项目中,我们可能需要将Hadoop与JavaWeb结合,例如通过RESTful API访问Hadoop服务。这需要: 1. 使用Servlet或...

Global site tag (gtag.js) - Google Analytics