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

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

 

  •   流程图

 

  •   函数调用关系图

  •     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.split 和 job.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 用于监控和调度 MapTask 和 ReduceTask 。

 

2021-12-21 hadoop 写数据流程(二):租约管理 hadoop租约管理器 阅读详情

相关推荐

模电学习笔记(十二)——跨阻放大器

模电学习笔记(十二) 跨阻放大器 跨组运算放大器是将电流信号转换成为电压信号,电流到电压增益基于反馈电阻。 设计目标: 输入 输出 带宽 电源 0A 100uA 0V 7V 20kHz 15V -15V 1.计算R1的值(增益电阻器) 2.计算C1的值满足电路带宽 ...

tang11081023的博客 2万+

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()

程裕强的专栏 4530

保姆级教程:在Ubuntu 21.04上搞定USRP X410的UHD 4.1驱动与Gnuradio 3.9安装(含虚拟机网络避坑指南)

本文提供在Ubuntu 21.04上配置USRP X410的UHD 4.1驱动与Gnuradio 3.9的详细教程,涵盖虚拟机网络设置、依赖安装、源码编译及常见问题解决方案,帮助开发者高效搭建SDR开发环境。

weixin_27869497的博客 272

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 3650

S32K314 EB配置MCAL全模块讲解【Autosar——1 MCU模块详解】持续更新中

FIRC(fast internal RC Oscillator) :高速内部时钟,固定48MHZ;SIRC(Slow Internal RC Oscillator):低速内部时钟,固定32KHZ;FXOSC(Fast Crystal Oscillator Digital Controller):高速外部晶振(8-40MHZ),根据原理图选型进行配置;SXOSC():外部低速外部时钟,固定输入32.768KHZ;PLL_PHIn_CLK:时钟倍频锁相环时钟范围(640-1280MHZ);

qq_40488886的博客 1784

GeoScene Pro教程(002):GeoScenePro基础操作

GeoScenePro基础操作介绍。

WwLK123的博客 2461

Hadoop0.21.0源码编译方法

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

npucloud的专栏 2883

PLC批量读写优化:C# Modbus TCP多寄存器批量操作(效率提升50%)

效率提升:请求次数减少90%以上,通信耗时降低50%-95%;资源节约:减少网络带宽占用和PLC/上位机CPU负载;稳定性提升:更少的请求意味着更少的通信异常;适配高频采集:满足工业现场100ms/次的高频率数据采集需求。工业落地时需注意:批量操作的核心是地址连续化规划,提前与PLC工程师协同规划寄存器地址,是优化的前提;同时需配合重试、校验机制,确保批量操作的可靠性。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1259

hadoop 任务提交源码分析

qq_18532033的博客 247

4.Simulink基础建模操作——加减乘除运算

加减乘除运算

FPGA/MATLAB学习教程/源码/项目合作开发 9550

threejs中使用Reflector实现出倒影效果,并实现背景透明的效果(Reflector镜面背景透明, 倒影弱化)

在项目中遇到要实现倒影效果,threejs给我们提供了Reflector,可以轻松完成镜面效果,实现倒影。但背景不透明;并且反射出的倒影太亮了;网上没搜到解决方案, 自己修改了下源码实现了想要的效果,做个记录...

weixin_40856652的博客 5721

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的专栏 2439

环境配置与基础教程:2026大厂标准:使用 DVC (Data Version Control) 实现 YOLO 数据集版本控制全链路管理

本文介绍了使用DVC 3.0对YOLO数据集进行全链路版本控制的方法。主要内容包括: DVC 3.0的核心增强:内容块级缓存去重、并行云传输、AI智能体元数据跟踪等新特性,可显著提升YOLO数据集管理效率。 环境配置:详细说明DVC 3.0的安装步骤、项目初始化方法以及远程存储配置方案(支持S3、GCS、Azure等多种存储后端)。 目录结构规范:提供符合大厂MLOps标准的项目目录结构设计。 实战操作: 原始数据版本化 多格式标注数据版本控制 版本切换方法 优势说明:DVC通过哈希指针机制管理大型数据集,

ZXSXJ的博客 148

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

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

nexus的专栏 2869

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

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的博客 285

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

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

独家记忆 7320

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

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

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

Developing Hadoop-based applications 214

Hadoop面试百问

Hadoop面试百问 Hadoop1和Hadoop2的区别

群山的博客 2227

Hadoop之HDFS原理及文件上传下载源码分析(下)

  上篇Hadoop之HDFS原理及文件上传下载源码分析(上)楼主主要介绍了hdfs原理及FileSystem的初始化源码解析, Client如何与NameNode建立RPC通信。本篇将继续介绍hdfs文件上传、下载源解析。 文件上传   先上文件上传的方法调用过程时序图:         其主要执行过程:    FileSystem初始化,Client拿到NameNodeRpc...

weixin_30790841的博客 213

了解Hadoop

Apache Hadoop 官网 Hadoop源码分析 参考1 参考2 Hadoop 是一个由 Apache 基金会所开发的分布式系统基础架构。 Hadoop 的框架最核心的设计就是:HDFS(Hadoop Distributed File System) 和 MapReduce。HDFS 为海量的数据提供了存储,则 MapReduce 为海量的数据提供了计算。 Ha...

weixin_30480651的博客 157

Hadoop源码分析之客户端向HDFS写数据

转自:http://www.tuicool.com/articles/neUrmu 在上一篇博文中分析了客户端从HDFS读取数据的过程,下面来看看客户端是怎么样向HDFS写数据的,下面的代码将本地文件系统中/home/hadoop/input目录下的文件写入到本地搭建的HDFS的/test文件中,代码如下: view sourceprint? 01.import java.i...

weixin_34417183的博客 103

Horovod on TonY:如何在Hadoop集群上实现高效分布式训练

TonY是一个能让深度学习框架原生运行在Apache Hadoop上的框架,而Horovod则是一款旨在简化单机训练脚本扩展到多GPU并行训练的工具。将Horovod与TonY结合,可以充分利用Hadoop集群资源进行大规模分布式训练,解决传统SSH机制在Yarn环境下的局限性。 ## TonY架构与分布式训练原理 TonY的架构设计为分布式训练提供了坚实基础。其核心组件包括TonyClien

gitblog_00642的博客 428

release-ranger-2.0.0版本编译

编译ranger2.0.0组件 工具 描述 操作系统 CentOS Linux release 7.4.1708 (Core) maven apache-maven-3.3.9 jdk 1.8.0_121 ranger ranger-release-ranger-2.0.0 Ranger2.0版本支持的大数据组件版本(官网上能查到的,部分组件) 描述 Ran...

TT-Learning 1580

hadoop源码解析

由亍Hadoop 的MapReduce 和HDFS 都有通信的需求,需要对通信的对象迕行序列化。Hadoop 并没有采用Java 的序列化, 而是引入了它自己的系统。 org.apache.hadoop.io 中定义了大量的可序列化对象,他们都实现了Writable 接口。实现了Writable 接口的一个典型例子 如下: Java 代码 1. public class MyWritab

蜗牛在爬 638
上一篇: TeraSort实验--测试Map和Reduce Task数量对Hadoop性能的影响
下一篇: Hadoop源代码分析【RPC】
npucloud
博客等级 码龄16年 6粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值