Hadoop0.21.0源码流程分析(2)-主节点接收作业

Hadoop Yarn 3.1.0 源码分析 (02 作业调度) 在上一节中,我们详细分析了作业是如何上岸的,现在作业 已经到达了RM端,并且交给了 RMAppManager进行继续运转,我们继续跟踪作业是如何在YARN中如何运转。 Server端: ApplicationClientProtocolPBSeriveImpl.submitApplication() -> C 阅读详情

      JobTracker 负责调度 job 的每一个子任务 task 运行于 slave 上,并监控它们,如果发现有失败的 task 就重新运行它 。 JobTracker 一直在等待 JobClient 通过 RPC 提交作业 , 而 TaskTracker 一直通过 RPC 向 JobTracker 发送心跳 heartbeat 询问有没有任务可做,如果有,让其派发任务给它执行。如果 JobTracker 的作业队列不为空 , 则 TaskTracker 发送的心跳将会获得 JobTracker 给它派发的任务。这是一道 pull 过程 : slave 主动向 master 拉生意。 slave 节点的 TaskTracker 接到任务后在其本地发起 Task ,然后执行任务。

 

  •    主节点 接收作业流程

第一步:当 JobClient 向 JobTracker 通信时利用 RPC 调用 JobTracker 的 submitJob() 方法时,首先会生成一个 JobInProgress 类的实例,该实例是为了记录当前这个 Job 任务的执行状况。在构造的同时会调用到 FileSystem ,把在 JobClient 端上传的所有任务文件下载到 本地的文件系统中的临时目录里 。这其中包括上传的 *.jar 文件包、记录配置信息的 xml 、记录分割信息的文件。

第二步:生成的 JobInProgress 实例会加载到作业队列管理器 QueueManager 中,通过 QueueManager 来调度。然后在流程中执行到 jobtracker.initJob() ,再执行 jobinProgress.initTask() ;

       第三步: initTask 函数流程中,首先 JobInProgress 会创建 map 的监控对象 , 先针对输入数据的每个 split 创建对应的 Map 执行管理对象 TaskInProgress 。其次 JobInProgress 会创建 Reduce 的监控对象,根据 JobConf 里指定的 Reduce 数目创建,缺省只创建 1 个 Reduce 任务。监控和调度 Reduce 任务的也是 TaskInProgress 类,不过构造方法有所不同。 根据初始化的信息生成每一个 map 与 reduce ,每个 map 与 reduce 都是 TaskInProgress , TaskInProgress 会根据不同参数分别创建具体的 MapTask 或者 ReduceTask 。生成的 map 与 reduce 监控类会被维护在 JobInProgress 实例中。

Hadoop Yarn 3.1.0 源码分析 (01 作业上岸:从提交的节点到RM节点的过程) 引言 为了更全面和更加有意义的分析Hadoop Yarn的源码,我决定从一个作业提交到到作业生命周期结束的角度来分析Yarn的源码。我们将会屏蔽MapReduce部分的过程,因为我们现在的重点是研究Yarn的源码,以后我们单独针对MapReduce的过程以及源码进行分析。分析的版本是最新的 Hadoop 3.1.0版本。 本节,我们主要分析一个作业的上岸的过程,所谓上岸,就说作业从client... 阅读详情

相关推荐

Mahout0.9 ——hadoop2.2.0编译与安装

1. Mahout0.9 ——hadoop2.2.0编译与安装 1.1. 基础准备 1) JDK安装 2) Maven安装 见《1、基础准备(JDK、Maven、服务器配置)》。 1.2. 下载Mahout源码 Mahout官方下载地址: http://archive.apache.org/dist/mahout/   可以直接下载官方已经编译好的包,mahout

Spark MLlib 机器学习 3111

【Debug跟踪Hadoop3.0.0源码之MapReduce Job提交流程】第三节 Job提交前的初始化

【Debug跟踪Hadoop3.0.0源码】第三节 jobSubmitter(提交器对象)的初始化回顾cluster与yarn的交互过程 回顾 上一节中我们对 jobSubmitter(提交器对象)的初始化过程进行了跟踪,查看了相关初始化的内容,下面进入==submitJobInternal(Job job, Cluster cluster)==方法中查看cluster与yarn的一些交互过程。...

Jack_Roy的博客 1万+

Windows源码编译Hadoop 2.8.0

相关依赖1.JDK 1.7+ 2.maven 3.0+ 3.findbugs 4.zlib headers 1.2.7+ (如果要编译得到native code) 5.cmake 2.6+ 6.protocbuffer 2.5.0 7.windows SDK or Visual Studio 2010 SP1(如果是vs2010,最好升级为sp1,否则那个cvtres.exe会疯掉)

炼剑 3931

Hadoop2.2.0源码分析(一)——Eclipse运行WordCount.java

AlienTech for better life!~

AlienTech for better life!~ 6849

hadoop 2.7.3 源码分析(三):hadoop远程调试

摘要调试是学习代码流程,查找BUG,修复错误的重要方法,本文内容主要是讲述在前两篇内容的基础上如何配置Idea和hadoop以使其可以使用远程调试(打断点、逐行运行等)功能Idea 设置首先需要将hadoop源码的maven工程导入idea中(这个就不讲了),导入后呢我们可以在模块hadoop-hdfs-project 下找到hadoop namenode启动的源码(在package:org.apa

iblks 7212

MapReduce之 WordCount 源码分析和操作流程

在之前的工作中,主要做了三件事情:1 如何完成Hadoop的完全分布式集群搭建 2 如何运行Hadoop自带示例WordCount,验证集群的运行 3 如何基于eclipse插件实现Hadoop编程完成每一件事都需要经过谨慎的操作、反复的验证,还有耐心。安装完之后一下成功是很难的,仍需要检验每一步的操作、查看错误问题的日志、分析网上类似问题的各类解决方法,于是在千转百回之下,柳暗花明。我分享了以

CV前沿 6316

hadoop 2.2.0 源码编译笔记

apache 官方发布的hadoop 2.2.0中只包含了32bit版本,多数生产环境中使用的是64bit的环境,需要64bit的hadoop2.2,则必须自己编译。本文记录在编译过程中遇到的一些问题和相应的解决办法。 1. 系统环境 查看系统版本: uname -a Linux ** 2.6.32_1-7-0-0 #1 SMP *** x86_64 x86_64 x86_64 GNU

codepeak的专栏 6050

Hadoop 2.2.0 (YARN)搭建笔记

最近工作需要,摸索着搭建了Hadoop 2.2.0集群,中间遇到了一些问题,在此记录,希望对需要的同学有所帮助。 1. 系统环境 查看系统版本: uname -a Linux ** 2.6.32_1-7-0-0 #1 SMP *** x86_64 x86_64 x86_64 GNU/Linux 查看gcc版本: gcc --version gcc (GCC) 3.

codepeak的专栏 1万+

Hadoop2.0 配置详解

Hadoop 2.0集群配置详细教程 前言 Hadoop2.0介绍 Hadoop是 apache 的开源 项目,开发的主要目的是为了构建可靠,可拓展 scalable ,分布式的系 统, hadoop 是一系列的子工程的 总和,其中包含 1. hadoop common : 为其他项目提供基础设施 2. HDFS :分布式的文件系 统 3. MapReduce : A software

coolwzjcool的专栏 4729

hadoop 2.7.3 源码分析(一):环境搭建

序回头想想自己学习大数据相关的技术已经有很长的时间了,在这段时间里主要学习了hadoop、zookeeper、hbase、kafka、flume、spark、storm等等,有一些在工作当中使用到了(比如zookeeper、hadoop)就比较熟悉但大部分都是浅尝辄止没有做深入的研究学习。 hadoop作为时下流行的大数据处理框架,其使用范围广,开发社区活跃。在国内很多大型公司如京东、百度、阿里等

iblks 3088

Hadoop 2.4.0源码深度解析与分析

Hadoop是一个由Apache软件基金会开发的开源框架,它允许用户在普通的硬件集群上运行应用,处理大规模数据。Hadoop具备高可靠性、高效性、高可扩展性,被广泛应用于分布式存储、分布式计算以及大数据处理等场景中。在本章中,我们将简要介绍Hadoop的历史背景、核心组件及其设计理念,以便为深入理解后续章节的源码分析和系统应用打下坚实的基础。Hadoop的核心组件包括Hadoop分布式文件系统(HDFS)和MapReduce计算模型,它们一起工作以实现大规模数据集的存储和处理。

weixin_34392511的博客 663

Hadoop作业提交分析

Hadoop作业提交分析(一) bin/hadoop jar xxx.jar mainclass args …… 这样的命令,各位玩Hadoop的估计已经调用过NN次了,每次写好一个 Project或对Project做修改后,都必须打个Jar包,然后再用上面的命令提交到Hadoop Cluster上去运行,在开发阶段那是极其繁琐的。程序员是“最懒”的,既然麻烦肯定是要想些法子减少无谓

pinuo的专栏 1168

grafana 配置页面告警

Rate 下拉选择也可,保持默认也可。By label 选择一个比如选择filename。配置无数据或者错误数据的时候如何处理,这里选择 Normal (表示当做正常不会告警)单机 node_name 标签,选择一个主机,选好后单机 Show logs。单机 New floder,如果之前配置过,也可以选择。单机 Save contact point 保存即可。会跳出如下对话框(如果没有跳出就自己单机选择下)完成后会自动生成如下图,告警规则部分就配置好了。选择告警接收方式(这里选择企业微信 WeCon)

weixin_40548182的博客 3252

Hadoop0.21.0源码流程分析(1)-客户端提交作业

Hadoop0.21.0源码流程分析(1)-客户端提交作业

学术技术交流,分享生活感悟 1792

基于 Quest 摄像头数据开发的原理介绍【Unity Meta Quest MR 开发教程】

比如想在识别到的现实物体上叠加虚拟物体,需要知道这个现实物体在 Unity 的世界坐标下的哪个位置,是带有 x,y,z 三个轴的数据的。而 WebCamTexture 捕捉到的图像只是个 2D 的平面,没有三维世界的深度信息,我们通过物体识别算法识别到的物体坐标只是在这个 2D 平面上的一个屏幕坐标,可以理解为 Quest 拍摄了一张照片,我们识别到这张照片上的某个像素点为需要识别的现实物体的中心。是不是看起来比较复杂?Quest 的相机访问功能是在安卓的。

qq_46044366的博客 2104

从Blender舞步到夜空画卷:基于Pix飞控的无人机编队灯光秀全链路开发实践

本文详细介绍了基于Pixhawk飞控的无人机编队灯光秀全链路开发实践。从Blender三维动画设计、QGroundControl地面站二次开发与MAVLink通信桥接,到PX4飞控的OFFBOARD模式路径控制与LED灯光驱动实现,最后通过Gazebo仿真验证并完成真机组装与首飞。文章为无人机爱好者提供了一套完整的、从创意设计到夜空执行的开源解决方案,重点阐述了多机同步与灯光控制的核心技术挑战与应对策略。

zeta9的博客 585

win10编译Hadoop3.0.2源码遇到的坑

目录 背景 1、Failed to execute goal org.apache.hadoop:hadoop-maven-plugins:3.0.2:protoc (compile-protoc) on project hadoop-common: org.apache.maven.plugin.MojoExecutionException: 'protoc --version' did n...

四国棋客 5984

TOPCon vs PERC:2024年光伏电站投资,哪种技术更划算?

本文深入分析了2024年光伏电站投资中TOPCon与PERC技术的财务表现。通过对比初始系统成本、全生命周期发电量及环境适应性,指出当前TOPCon组件与PERC价差已显著缩小,其更高的转换效率和更低的衰减率能有效降低度电成本并提升项目内部收益率,为投资者提供更具长期价值的方案。

p5l2m9n4o6q的博客 267

Spark作业提交流程源码

Spark作业提交流程源码 目录Spark作业提交流程源码一、环境准备及提交流程二、创建Yarn Client客户端并提交2.1 程序入口2.2 解析输入参数2.3 选择创建哪种类型的客户端2.4 Yarn客户端参数解析2.5 创建Yarn客户端2.6 Yarn客户端创建并启动ApplicationMaster三、ApplicationMaster任务3.1 解析传递过来的参数3.2 创建RMClient并启动Driver3.3 向RM注册AM3.4 获取RM返回可以资源列表3.5 根据可用资源创建NMCl

weixin_42796403的博客 987

WSL Ubuntu20 通过1Panel配置SSH服务的完整避坑指南

本文详细介绍了在WSL Ubuntu20环境下通过1Panel配置SSH服务的完整指南,包括环境准备、SSH服务安装与基础配置、1Panel中的SSH管理技巧以及连接测试与故障排查。特别针对WSL特性提供了避坑建议,如IP动态变化处理、SSH服务初始化配置等关键步骤,帮助用户高效搭建稳定的SSH服务环境。

weixin_29239279的博客 414

COMSOL仿真教程—激光烧蚀

本例使用二维模型,将来自激光的入射热通量模拟为金属表面上空间分布的热源,从而得到金属的烧蚀过程和瞬态温度分布。

qq_40977332的博客 2万+

HDFS2.X源码分析之:NameNode启动流程分析

目前,NameNode有多种启动:HA方式的从节点,非HA方式的主节点,BackUp(checkpoint)节点 switch (startOpt) { //文件系统格式化 case FORMAT: { boolean aborted = format(conf, startOpt.getForceFormat(), startOpt.ge

liuhong的专栏 1732

Openwork 入门指南:开源 AI 桌面助手快速上手

Openwork是一款开源的AI桌面代理工具,提供类似Claude Cowork的免费替代方案。它支持本地运行,确保隐私安全,并能高效处理文件整理、文档读写等任务。支持多种AI模型,通过MIT许可完全免费。安装简单,仅需运行命令行或下载桌面版,需配置API Key后即可使用。操作直观,支持多步骤规划和权限控制,适合自动化重复工作。目前主要支持macOS,未来将扩展至Windows/Linux。建议从简单任务入手,逐步掌握这一高效的数字助手工具。

3802

Hadoop0.21.0编译手册

目录 Hadoop0.21.0编译手册... 1 1. 安装环境及基本准备... 3 2. 安装Cygwin. 4 3. 编译common模块... 10 A. 导入工程... 10 B. 修改编译器设置... 10 C. 编译工程... 13 4. Hdfs和mapreduce模块编译... 15 5. 验证编译结果... 17   1. 安装环境及基本准备 操作系统:windows xp IDE: eclipse JDK:1.6以上版本,需配置好JAVA_HOME以及Path

bluekeyv的专栏 2438

(王道408考研数据结构)第一章绪论-第二节1:算法的基本概念、算法的特性及设计要求

算法(Algorithm):是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作王道视频课中讲到了一个例子,展示了算法就是解决问题的特定步骤的描述对于给定的问题可以有多种多样的算法来解决,只不过这些算法有各自的优点和缺点。

快乐江湖的博客 2684

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

上一篇: Hadoop0.21.0源码流程分析(1)-客户端提交作业
下一篇: 分享8年开发经验,浅谈个人发展经历,明确自己发展方向
xiejava
博客等级 码龄19年 26粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值