Hadoop MapReduce Job提交流程解析

【Hadoop Yarn01】 Yarn资源调度器&参数配置 yarn是一个资源调度平台,相当于一个分布式的操作系统平台,负责为运算程序提供服务器运算资源,而MapReduce等运算程序则相当于运行于操作系统之上的应用程序。 Yarn基础架构 核心组件: ResourceManager NodeManager ApplicationMaster Container ResourceManager(RM) 职责: (1)接收Yarn客户端的请求,比如提交计算作业(MR、Spark、Flink) (2)监控NodeManager 的资源(CPU\内存) (3)启动和 阅读详情

在这里插入图片描述
注释:job提交好后,stagingDir路径下会有三个文件,分别是job.split, job.xml, job.jar

相应的代码可以表示为:

waitForCompletion()
 
submit();
 
// 1建立连接
	connect();	
		// 1)创建提交Job的代理
		new Cluster(getConfiguration());
			// (1)判断是本地yarn还是远程
			initialize(jobTrackAddr, conf); 
 
// 2 提交job
submitter.submitJobInternal(Job.this, cluster)
	// 1)创建给集群提交数据的Stag路径
	Path jobStagingArea = JobSubmissionFiles.getStagingDir(cluster, conf);
 
	// 2)获取jobid ,并创建Job路径
	JobID jobId = submitClient.getNewJobID();
 
	// 3)拷贝jar包到集群
copyAndConfigureFiles(job, submitJobDir);	
	rUploader.uploadFiles(job, jobSubmitDir);
 
// 4)计算切片,生成切片规划文件
writeSplits(job, submitJobDir);
		maps = writeNewSplits(job, jobSubmitDir);
		input.getSplits(job);
 
// 5)向Stag路径写XML配置文件
writeConf(conf, submitJobFile);
	conf.writeXml(out);
 
// 6)提交Job,返回提交状态
status = submitClient.submitJob(jobId, submitJobDir.toString(), job.getCredentials());

Hadoop中Mapreduce的Job任务提交流程源码解析 一、源码解析步骤 1. 设置断点 在Driver的job任务提交打上断点进行Debug调试进入其中 (F7:进入; F8:下一步; Alt+Shift+F7:强制进入;Shift+F8:退出) 进入waitForCompletion() 2. submit() -> 提交任务 submit()方法作用是将我们的job提交到yarn集群(现在是本地模式) 进入submit()... 阅读详情

相关推荐

job提交流程和切片划分源码解析

MapRdeuce job提交流程和切片划分源码解析 在这个mapreduce程序中使用的是wordcout案例 // 提交job boolean result = job.waitForCompletion(true); 源码: public boolean waitForCompletion(boolean verbose) throws IOException, InterruptedException, ClassNotFoundException { if (this.stat

qq_38343713的博客 362

大数据学习之路~Hadoop~yarn工作原理与架构

一.Yarn的工作原理 YARN的作业运行,主要由以下几个步骤组成: (1)作业提交 第0步:Client调用job.waitForCompletion方法,向整个集群提交MapReduce作业。 第1步:Client向RM申请一个作业id。 第2步:RM给Client返回该job资源的提交路径和作业id。如果申请成功就会生成一个applicationId,ResourceManager是允许HDFS的temp 目录下面生成一个路径,这个路径名字是以你当前任务的applicationId命名.

tby6686的专栏 677

ROS-订阅与处理激光雷达scan话题

激光雷达通常有四个性能衡量指标:测距分辨率、扫描频率(有时也用扫描周期)、角度分辨率及可视范围。测距分辨率衡量在一个给定的距离下测距的精确程度,通常与距离真实值相差在5-20mm;扫描频率衡量激光雷达完成一次完整扫描的快慢,通常在10Hz及以上;角度分辨率直接决定激光雷达一次完整扫描能返回多少个样本点;可视范围指激光雷达完整扫描的广角,可视范围之外即为盲区。

weixin_42438635的博客 4477

hadoop用job文件方式提交任务

hadoop job命令支持通过xml文件的方式提交任务。 命令: hadoop job -libjars some.jar -submit testjob.xml useroverlap.jar是实现了Mapper、Reducer等的jar包,testjob.xml是作业配置文件。 例子在74的/data/hydata/mapreduce/useroverlap j

自清的soft专栏 1524

基于STM32与HRTIM的四开关Buck-Boost双向DC-DC电源设计实战(附源码、仿真与设计解析)

本文详细介绍了基于STM32F334的HRTIM高分辨率定时器实现四开关Buck-Boost双向DC-DC电源的设计实战。通过精准的PWM控制、双环PID算法和智能模式切换逻辑,解决了电压震荡与效率优化等关键问题,并提供了完整的源码、PSIM仿真及参数计算,为高性能电源设计提供了实用参考。

7z8x2c4v6b9的博客 299

Macbook Pro上如何修改brew源

一、需求说明 我的macbook电脑安装了中科大的brew源码,发现安装gpg工具失败,其他工具可以正常安装,为了能将gpg安装成功,就找了找切换brew源的方案,记录如下。 二、切换至国内源 由于使用github默认源有可能存在路径远或者部分服务访问超时的原因,切换至国内源可以提速。 2.1 替换brew.git $ cd "$(brew --repo)" # 中国科大: $ git remote set-url origin https://mirrors.ustc.edu.cn/brew.git #

bufegar0的博客 1078

Yarn的基础介绍以及job的提交流程

YARN 是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而 MapReduce 等运算程序则相当于运行于操作系统之上的应用程序。ResourceManager:ResoueceMananer是基于应用程序对集群资源的需求进行调度的yarn集群的主控制节点,负责协调和管理整个集群,相应用户提交的不同的类型的应用程序,解析、调度、监控等工作。ResourceManager会为每一个application启动一个MRappmaster,并且MRappmaster分散在各个n

禧年 534

最新Docker GPU支持全解析:为什么nvidia-smi能用但PyTorch找不到CUDA?

本文深入解析了Docker容器中nvidia-smi命令可用但PyTorch无法调用CUDA的根本原因。关键在于默认配置仅暴露了GPU的utility管理能力,而CUDA计算所需的compute能力未被激活。通过正确设置NVIDIA_DRIVER_CAPABILITIES环境变量为compute,utility,并配合--gpus参数,即可解决此问题,确保AI训练等任务顺利进行。

convnet3designer的博客 238

【Mapred】jobtracker & tasktracker架构作业是怎么提交的

Streaming那一套就先不管了,提交作业部分的代码肯定是一样的,只不过客户端提交的方式不一样。 很多人都从wordCount看起,看吧,我擦。 Configuration conf = new Configuration(); String[] otherArgs = new GenericOptionsParser(conf, args).getRemainingArgs();

tracymkgld的专栏 2100

GEM5教程--gem5开始之旅(一)

GEM5系列教程--gem5开始之旅一、建立GEM5 GEM5模拟器是一个用于计算机系统结构研究的模块化平台,包含系统级别的结构以及处理器的微体系结构。读者若想详细的了解,请查看其官方文档GEM5文档 读者如果想要入门GEM5的话,可以参考Learning_GEM5这个网站,这里面有较为详细的教程,可以带读者从入门到精通。小编我对GEM5的入门学习也是从这个Learning_GEM5这个网站学习的...

qq_43381135的博客 3万+

Dify Rerank 模型配置全流程解析:从报错定位到代码实现

Dify Rerank 模型配置全流程解析:从报错定位到代码实现

engchina的专栏 4470

hadoop源码解析-Job提交

hadoop源码解析-Yarn源码解析5.1 Job 提交流程源码和切片源码详解 1)Job 提交流程源码详解 waitForCompletion() submit();// 1 建立连接 connect(); // 1)创建提交 Job 的代理 new Cluster(getConfiguration()); // (1)判断是本地运行环境还是 yarn 集群运行环境 initialize(jobTrackAddr, conf);// 2 提交 job submitter.submitJobInterna

专注Java(全栈)应用开发,求知若渴,虚心若愚,talk is cheap, show me the code. 339

带你一分钟了解电感与磁珠的区别

在电路设计中会经常使用到电感和磁珠,虽然在电路中的作用有所不同,但它们都属于磁性电子元器件,本文简单介绍下电感和磁珠的区别电感和磁珠电感和磁珠的结构主要由磁性材料金属线圈和外壳组成,具体结构如下图所示:电感磁珠结构图电感其实是金属线圈缠绕在磁芯上,而磁珠是在内部折叠后外围包裹着铁氧体磁性材料。电感器(Inductor)又称扼流器、电抗器、动态电抗器是储能器件,能够把电能转化为磁能而存储起来的元件。磁珠则是能量转换(消耗)器件,将流过他的高频信号以热能的形式消耗掉。

攻城狮鹏哥 1409

MapReduce之Job提交流程源码和切片源码分析

hadoop2.7.2 MapReduce Job提交源码及切片源码分析 1. 首先从waitForCompletion函数进入 boolean result = job.waitForCompletion(true); /** * Submit the job to the cluster and wait for it to finish. * @param verbo...

gqing_的博客 1028

UG NX二次开发(C++)-NX2406系列二次开发编程模板配置

前面已经写了有关UG NX二次开发编程模板配置的文章,但是由于NX2406/2412系列的版本中,在UGOpen文件夹中没有了vs_files文件夹了,而是采用了VSIX Project的方式配置(其适用于VS2019),在VS2022中不能正确的配置。我结合以前配置模板的经验和现在的配置方式讲一下NX2406系列二次开发编程模板的配置。我把相应的编程模板放在资源文件UG NX二次开发编程模板(基于NX2406版本制作)中,方便大家下载使用。

GimiGimmy 2640

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Job提交流程源码和切片源码详解

1. 进入Job提交方法  public boolean waitForCompletion(boolean verbose                                    ) throws IOException, InterruptedException,                                             ClassNotFou...

qq_43193797的博客 628

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

大数据学习-Hadoop-Job提交源码分析

由于近期有想转大数据行业的想法,所以开始研究大数据,我也会慢慢的将我的学习资料发到平台上来,今天带大家看一下Hadoop的MapReduce的Job提交工作的源码分析! 代码大致流程 Driver类调用waitForCompletion方法 job.waitForCompletion(true); 首先执行submit方法 进行异常判断 ensureState(JobState.DEFINE); API转换 setUseNewAPI(); 连接创建 connect(); 创建提交job代理 ne

一碗糊涂虫的博客 292

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

hadoop的job提交流程

job提交流程(由客户端提交job) 说明:上传的job.jab就是自己自定义的jar包,用来在yarn实现MAP和Reduce 提交内容: 1、jar包 2、切片信息 3、xml配置文件 为什么要提交配置信息:job提交给yarn,生成appmaster,appmaster需要配置文件conf(job.xml)才能知道干什么 1.job.waitForCompletion(true) //开始提交Job 1.1 state == JobState.DEFINE //当前Job状态的判断,如果是run

ldc2013的博客 821

Hadoop作业提交分析

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

pinuo的专栏 1168

MapReduce中Job提交流程源码和切片源码小结

MapReduce定义 ​ MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。 MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个Hadoop集群上。 MapReduce的核心思想 首先MapReduce分成两个阶段:Map阶段和Reduce阶段。 在Map阶段,会并发的执行MapTask。 在Reduce阶段,会有并发的ReduceTask。ReduceTask依赖于MapTask并发输

m0_38109926的博客 265

HDFS源码之MapReduce提交job,split规则

HDFS源码之MapReduce提交job,split规则 1. Driver(mp程序启动driver) public static void main(String[] args) throws Exception { // 输入输出路径需要根据自己电脑上实际的输入输出路径设置 args = new String[] { "D:\\git\\study\\BigDataPro\\hadoop\\src\\main\\resources\\input", "D:\\git\

地球人是我哈的博客 434

MapReduce: Job提交过程

[i]初学Hadoop,准备用几篇日志来陈述MapReduce job的生命周期中job提交、task分发和task执行,以及JT scheduling策略,job性能参考等方面的知识。通过代码及参考资料想了解job执行的大致细节,期望在以后job性能调优时有所依据。与细节相关的代码参考于Hadoop-0.21.0版本。[/i] [size=medium] ...

每天一小步 573

MapReduce V1:Job提交流程之JobClient端分析

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34060299的博客 320

大数据—Hadoop(十一)_ MapReduce_04、核心框架原理_源码(1)_ Job提交流程

MapReduce将数据的计算,简单分成Map和Reduce两个阶段。Map阶段,将原本很大的数据集拆分成多个小份,在不同服务器上各个击破。Reduce阶段,则将原本小份的数据结果汇总,进一步计算,得到最终结果。

梳理大数据技术 388

mapreduce yarn 的job提交流程

1 概述 该瞅瞅MapReduce的内部运行原理了,以前只知道个皮毛,再不搞搞,不然怎么死的都不晓得。下文会以2.4版本中的WordCount这个经典例子作为分析的切入点,一步步来看里面到底是个什么情况。 2 为什么要使用MapReduce Map/Reduce,是一种模式,适合解决并行计算的问题,比如TopN、贝叶斯分类等。注意,是并行计算,而非迭代计算,像涉及到层次聚类的问题

haihongazar的博客 3201

Mapreduce Job提交流程源码和切片源码详解

1)Job提交流程源码详解: 图示: 代码: waitForCompletion() submit(); // 1建立连接 connect(); // 1)创建提交Job的代理 new Cluster(getConfiguration()); // (1)判断是本地yarn还是远程 initialize(jobTrackAddr, conf); // 2 提交job submitter.submitJobInternal(Job.this, cluster) .

欢迎欢迎,热烈欢迎 276
上一篇: Java 比较器
下一篇: FileInputFormat切片机制和配置参数
Charles Gao
博客等级 码龄7年 13粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值