`
evans_he
  • 浏览: 11937 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

LocalJobRunner

阅读更多

       hadoop作业分本地模式和分布式模式两种执行模式,JobClient初始化时会读取配置项mapred.job.tracker(默认为local),如果该配置项的值为local,则hadoop采本地模式执行作业,否则采用分布式模式执行。本地模式使用LocalJobRuner提交并执行作业。对LocalJobRunner实例调用submitJob( )方法会创建Job(LocalJobRunner的内部类)实例,该实例完成作业的执行。
       从图中可以看到,LocalJobRunner的内部类Job就是一个线程,其实本地模式的MapReduce作业就由该线程完成。Job的内部类MapTaskRunnable实现了Runnable接口,代表了Map任务,每个分片都对应一个MapTaskRunnable实例,Job采用java并发包提供的ExecutorService线程池来执行MapTaskRunnable实例,线程池的大小为分片数量和mapreduce.local.map.tasks.maximum配置项值中较小者,至少为1。线程池创建好之后就将MapTaskRunnable实例都提交到其中去执行,然后线程池停止接受新任务等待线程执行完毕。线程执行完毕后会逐个检查MapTaskRunnable实例有没有异常出现,如果有则认为map执行失败,直接抛出异常终止执行,如果都没有异常则认为map都执行成功,接下来继续执行reduce。本地模式值允许0个或者1个reduce任务。ReduceTask代表一个reduce任务,它从map的输出文件中读取数据进行reduce操作,将结果写到指定的目录中。reduce任务执行完之后,会进行一些清理操作,删除map的中间输出,删除作业提交目录和其中的作业配置文件、删除作业的本地拷贝文件等。

本地执行模式:

 源代码就不再贴了,请参考LocalJobRunner。

  • 大小: 101.7 KB
  • 大小: 24.3 KB
0
0
分享到:
评论

相关推荐

    Hadoop-mr-part1

    Hadoop的mapreduce基础知识1.后续上传第二部分。培训笔记。

    Hadoop硬实战 [(美)霍姆斯著][电子工业出版社][2015.01]_PDF电子书下载 带书签目录 高清完整版.rar )

    技术点80 用LocalJobRunner 进行重量级的作业测试 13.1.4 集成和QA 测试 13.2 调试用户空间的问题 13.2.1 访问任务日志 技术点81 检查任务日志 13.2.2 调试不可预期的输入 技术点82 定位input split ...

    Hadoop实战(第2版)

    技术点79 MapReduce 函数、作业和管道的单元测试13.1.3 LocalJobRunner技术点80 用LocalJobRunner 进行重量级的作业测试13.1.4 集成和QA 测试13.2 调试用户空间的问题13.2.1 访问任务日志技术点81 ...

    新建文本文档.txt

    新建文本文档

    开源Git gui工具Fork

    开源Git gui工具Fork,CSDN能找到教程,但是资料不多,推荐用Tortoise

    yolov5在华为昇腾atlas上加速推理

    该资源为yolov5在华为昇腾atlas上使用Ascend310芯片加速推理,属于c++后端开发,适合C++开发者在华为昇腾盒子上移植深度学习算法的博主们。 资源是demo形式,包含完整的一套代码,还有转好的离线模型文件和跑出的测试结果图片。

    C++ 实现贪吃蛇小游戏

    C++贪吃蛇小游戏简介 内容概要 C++贪吃蛇小游戏是一款经典的2D游戏,它利用C++编程语言结合基本的图形库(如NCurses库或SDL库)实现。游戏的核心玩法包括控制贪吃蛇在封闭的场地内移动,通过吃掉随机出现的食物来增长身体长度,同时避免碰到场地边界或自己的身体,否则游戏结束。游戏界面简洁直观,通过键盘控制贪吃蛇的方向,提供流畅的游戏体验。 适用人群 C++贪吃蛇小游戏适用于广泛的人群,特别是: C++编程学习者:对于正在学习C++编程的学生或爱好者,这款小游戏是一个很好的实践项目。通过实现游戏,可以加深对C++语法、数据结构、面向对象编程等知识点的理解和应用。 使用场景及目标 C++贪吃蛇小游戏可以在以下场景中使用,并达到以下目标: 编程教学实践:在编程教学课堂上,教师可以使用该游戏作为案例,引导学生完成项目的开发。通过实践,学生可以更好地掌握C++编程技能,并将理论知识应用于实际项目中。 个人项目实践:对于个人学习者,实现贪吃蛇小游戏可以作为自我挑战和实践的机会。通过独立完成项目,可以提升自己的编程能力和解决问题的能力。

    ec616DataSheet

    移芯NBIOT 芯片,NB芯片,水表电表芯片,烟感 地磁芯片 超弱信号环境业务能力。

    预测结果.xlsx

    预测结果

    简易java订销管理系统-javainfo

    简易java订销管理系统_javainfo,包含全量功能源码,及相关文档说明,供大家学习使用!!!

    Java开发案例-springboot-52-POI导出Excel-源代码+文档.rar

    Java开发案例-springboot-52-POI导出Excel-源代码+文档.rar Java开发案例-springboot-52-POI导出Excel-源代码+文档.rar Java开发案例-springboot-52-POI导出Excel-源代码+文档.rar Java开发案例-springboot-52-POI导出Excel-源代码+文档.rar Java开发案例-springboot-52-POI导出Excel-源代码+文档.rar Java开发案例-springboot-52-POI导出Excel-源代码+文档.rar

    附件1预测.xlsx

    附件1预测

    基于java的习题检索系统源码.zip

    提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

    Java开发案例-springboot-31-实现快递物流查询(快递鸟)-源代码+文档.rar

    Java开发案例-springboot-31-实现快递物流查询(快递鸟)-源代码+文档.rar Java开发案例-springboot-31-实现快递物流查询(快递鸟)-源代码+文档.rar Java开发案例-springboot-31-实现快递物流查询(快递鸟)-源代码+文档.rar Java开发案例-springboot-31-实现快递物流查询(快递鸟)-源代码+文档.rar Java开发案例-springboot-31-实现快递物流查询(快递鸟)-源代码+文档.rar Java开发案例-springboot-31-实现快递物流查询(快递鸟)-源代码+文档.rar Java开发案例-springboot-31-实现快递物流查询(快递鸟)-源代码+文档.rar Java开发案例-springboot-31-实现快递物流查询(快递鸟)-源代码+文档.rar

    测试手柄以及其他外设在安卓模拟器或者安卓手机上的操作按键以及使用的摇杆向量

    测试手柄以及其他外设在安卓模拟器或者安卓手机上的操作按键以及使用的摇杆向量,通过按键以及摇杆来识别手柄或者其他外设的操作按键以及摇杆等。

    第一篇20240528_00.png

    第一篇20240528_00.png

    基于Java的实用的音乐软件微信小程序的设计与开发源码.zip

    提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

    使用SAHI模块完成超分辨率以及小目标检测是应用示例python源码+项目说明

    使用SAHI模块完成超分辨率以及小目标检测是应用示例python源码+项目说明个人经导师指导并认可通过的高分设计项目,评审分98分。主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 使用SAHI模块完成超分辨率以及小目标检测是应用示例python源码+项目说明个人经导师指导并认可通过的高分设计项目,评审分98分。主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。使用SAHI模块完成超分辨率以及小目标检测是应用

    第二次操作系统作业等9个文件.zip

    第二次操作系统作业等9个文件.zip

    C++ 控制台版本坦克大战游戏

    C++ 控制台版坦克大战游戏简介 内容概要 C++ 控制台版坦克大战游戏是一款基于C++编程语言开发的经典射击游戏。 通过键盘控制坦克移动攻击,躲避敌方坦克的攻击,同时消灭它们以完成关卡任务,支持地图编辑。 适用人群 这款游戏适用于对C++编程和游戏开发感兴趣的广大学生、编程爱好者以及初学者。通过参与游戏开发,他们可以深入了解C++编程语言的应用,学习游戏逻辑设计、用户输入处理。此外,对于想要通过实践提升编程能力和算法思维的人群,这款游戏也是一个不错的选择。 使用场景及目标 C++ 控制台版坦克大战游戏可以在多种场景下使用,并达到以下目标: 学习与实践场景:在编程学习或实践课程中,教师可以利用这款游戏作为教学案例,引导学生逐步完成游戏的开发。学生在开发过程中将学习并应用C++的基础知识,包括变量、数据类型、循环、条件语句等,同时培养解决问题的能力。

Global site tag (gtag.js) - Google Analytics