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

Hadoop源码解析之YARN客户端作业提交流程 主要的流程集中在JobSubmitter.submitJobInternal中,包括检测输出目录合法性,设置作业提交信息(主机用户),获得JobID,向HDFS中拷贝作业所需文件(Job.jar Job.xml split文件等),最后执行作业提交 阅读详情

 

  •   流程图

 

  •   函数调用关系图

  •     JobConf

          JobConf 类继承 org.apache.hadoop.conf.Configuration 类,所有客户端程序中配置的信息和其他运行信息,都会保存在这个类里。

 

  • JobClient

        JobClient.runJob(job) 静态方法会实例化一个 JobClient 实例 , 然后用此实例的 submitJob(conf) 方法向  master 提交作业。此方法会返回一个 RunningJob 对象,它用来跟踪作业的状态。作业提交完毕后, JobClient 会根据此对象开始轮询作业的进度,直到作业完成。

submitJob(conf) 内部是通过 submitJobInternal(job) 方法完成实质性的作业提交。    submitJobInternal(job) 方法首先会向 hadoop 分布系统文件系统 hdfs 依次上传三个文件 : job.jar, job.splitjob.xml

job.xml:  作业配置,例如 Mapper, Combiner, Reducer 的类型,输入输出格式的类型等。

job.jar: jar, 里面包含了执行此任务需要的各种类,比如  Mapper,Reducer 等实现。

job.split:  文件分块的相关信息,比如有数据分多少个块,块的大小 ( 默认 64m ) 等。

          写完这三个文件之后 此方法会通过 RPC 调用 master 节点上的 JobTracker. submitJob( ) 方法,此时作业已经提交完成。

          JobClient 里面使用 使用 RPC 机制来构造一个实现  JobSubmissionProtocol 接口的 JobTracker 的 代理,然后利用远程发放直接执行 JobTracker 里的 submitJob

 

  • JobTracker

          JobClient 提交 job 后, JobTracker 会创建一个 JobInProgress 来跟踪和调度这个 job ,并把它添加到 job 队列里。 JobInProgress 会根据提交的 job jar 中定义的输入数据集(已分解成 FileSplit )创建对应的一批 TaskInProgress 用于监控和调度 MapTaskReduceTask

 

启动hadoop2.0中nfs网关服务的步骤 需要解决两个问题,一是如何启动portmapnfs网关,二是如何在客户端挂载hdfs; 以下适用于ubuntu 10.04系统及hadoop 2.2.0; 启动portmapnfs网关   编译源码后启动nfs网关需要拷贝的文件目录 hadoop-common-project/hadoop-nfs/target/hadoop-nfs-2.2.0 hadoop-hdfs-pr 阅读详情

相关推荐

2021-12-21 hadoop 写数据流程(二):租约管理

hadoop租约管理器

cn987654的博客 751

Hadoop-2.7.3源码分析:MapReduce作业提交源码跟踪

1提交JobMapReduce程序框架请参考 http://blog.csdn.net/chengyuqiang/article/details/72804007@Override public int run(String[] args) throws Exception { //读取配置文件 Configuration conf = getConf()

程裕强的专栏 4526

【目标跟踪】ECO算法论文阅读:ECO: Efficient Convolution Operators for Tracking

这里所指的训练集是指保存了每一帧的跟踪结果的训练集,也就是说,每一次进行model update的时候,要用在这一帧之前所有跟踪到的样本。那么随着视频越来越长,这个训练集就会越来越大。因为当目标被遮挡或者丢失的时候,比较新的这些样本本身就是错的,那么模型很容易有model drift,就是被背景或者错误的目标污染,导致跟踪结果出错。如下图所示,Baseline是传统的训练集,每更新一帧就加一个进来,那么连续的数帧后训练集里面的样本都是高度相似的,即容易遗忘前面的样本,且容易对最近的若干帧样本过拟合。

qq_43799400的博客 2577

hadoop 任务提交源码分析

qq_18532033的博客 247

MapReduce作业提交源码分析第一讲【小二讲堂】

本片博文主要讲述MapReduce作业提交源码分析流程流程图都是小二手把手操作出来的,建议新手看之前连接hadoop 2.x基本架构hdfs架构原理解析。 进入小二课堂进行全面学习:小二课堂请点击进入 或者直接进入hdfs底层原理解析及架构分析:https://blog.csdn.net/Mirror_w/article/details/89288212 或者了解hadoop 2.x had...

Mirror_w的博客 563

Hadoop0.21.0编译手册

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

bluekeyv的专栏 2436

Hadoop Herriot测试框架之旅—源码分析

Hadoop-0.21.0的目录结构中,common、hdfsmapred作为独立的工程存在,因此与Herriot有关的代码也分别在不同的工程中,其中common工程里的是通用的一些代码,hdfs工程中实现了对HDFS集群的测试,mapred工程中实现了对MapReduce集

nexus的专栏 2866

hadoop2-MapReduce详解

本文是对Hadoop2.2.0版本的MapReduce进行详细讲解。请大家要注意版本,因为Hadoop的不同版本,源码可能是不同的。 以下是本文的大纲: 1.获取源码2.WordCount案例分析3.客户端源码分析4.小结5.Mapper详解   5.1.map输入   5.2.map输出   5.3.map小结6.Reduce详解7.总结 若有不正之处,还请多多谅解,并希望批评...

abxlep7702的博客 281

hadoop-2.2.0+spark1.1.0安装过程

hadoop-2.2.0+spark1.1.0安装过程 首先介绍一下整个过程中需要用到的一些软件 虚拟机vmwareworkstation 10 Linux版本 CentOS 6.4 Jdk jdk-7u21-linux-i586.tar.gz 终端SecureCRT Hadoop2.2.0 Spark1.1.0 scala2.10.4   本人是采用在32位的windowns

独家记忆 7311

Hadoop 客户端长期运行造成Datanode 连接泄露, 0.21.0 仍然存在这问题

上篇文章中说到我在Hadoop的50070的web页面增加了每个node的xceiver count,这个问题也是通过这个指标发现的。 由于我的客户端从始至终都是一个Filesystem实例,因此在put完文件时java实例并不会销毁,客户端在运行较长时间后,发现每个Node的xceiver count值很高,当初以为是节点读写量比较大,但通过stack分析来看,却是写的线程比较多,难道又是...

Developing Hadoop-based applications 213

Hadoop面试百问

Hadoop面试百问 Hadoop1Hadoop2的区别

群山的博客 2224

Hadoop-2.4.1源码分析--MapReduce作业(job)提交源码跟踪

首先,在自己写的MR程序中通过org.apache.hadoop.mapreduce.Job来创建Job。配置好之后通过waitForCompletion()方法来提交Job。Hadoop版本是2.4.1。        进入waitForCompletion()方法,在判断状态state可以提交Job后,执行submit()方法。monitorAndPrintJob() 方法

HelloWorld 3641

Hadoop(十二):从源码角度分析Hadoo是如何将作业提交给集群的

为什么80%的码农都做不了架构师?>>> ...

weixin_34161032的博客 154

Hadoop0.21.0源码编译方法

Author:谢 本文介绍在Linux下使用eclipse编译Hadoop0.21.0源码

npucloud的专栏 2883

Hadoop作业提交源码分析

public static void main(String[] args) throws Exception { Configuration conf = new Configuration(); Job job = Job.getInstance(conf, "word count"); job.setJarByClass(WordCount.class); jo

weidenglu11的专栏 660

Hadoop基础教程》之初识Hadoop

        Hadoop一直是我想学习的技术,正巧最近项目组要做电子商城,我就开始研究Hadoop,虽然最后鉴定Hadoop不适用我们的项目,但是我会继续研究下去,技多不压身。          《Hadoop基础教程》是我读的第一本Hadoop书籍,当然在线只能试读第一章,不过对Hadoop历史、核心技术应用场景有了初步了解。   Hadoop历史         雏形开始...

上善若水任方圆 1889

Hadoop-0.21源代码编译及导入eclipse

本人因为实验需要用到Hadoop-0.21版本中Hadoop的LATE推测执行算法,所以就对Hadoop-0.21的源代码进行了编译。下面介绍编译过程实验环境 软件 版本 操作系统 ubuntu-14.04.4-desktop-i386 hadoop源代码 hadoop-common-branch-0.21.zip hadoop发布版 hadoop-0.21 j

程序员的经验分享 1782

TWINCAT3保姆级教程:手把手教你给Ecat从站烧录EEPROM(含XML配置避坑指南)

本文提供TWINCAT3环境下Ecat从站EEPROM烧录的完整教程,涵盖XML配置避坑指南。详细讲解环境准备、设备扫描、XML文件配置、EEPROM烧录流程及故障排查,帮助工程师高效解决设备识别问题,提升产线调试效率。

weixin_30693683的博客 453

安徽电网地理接线图,安徽省电网主网架及结构清晰,一目了然,方便咨询设计人员使用.jpg

安徽电网地理接线图,安徽省电网主网架及结构清晰,一目了然,方便咨询设计人员使用.jpg

上一篇: TeraSort实验--测试Map和Reduce Task数量对Hadoop性能的影响
下一篇: Hadoop源代码分析【RPC】
npucloud
博客等级 码龄15年 6粉丝 9原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值