摘要:在MRv1中,各个模块间驱动运行的方式是函数调用的方式。这是同步的过程,上一模块调用下一模块函数后,等待其执行。效率不高。 在MRv2中做了改进,yarn基于事件驱动的并发模型。在详细介绍前,先看下图: 处理请求会作为事件进入系统,有中央异步调度器【AsyncDispatcher】传递给对应的事件调
阅读全文
随笔分类 - hadoop总结篇
摘要:上一篇介绍了一个job的提交过程。期间多次提到通信协议。那么协议是什么? 协议其实就是通信的双方所遵守的一套规范,这套规范规定了通信时传输的数据的固定的格式。 4.1 RPC协议:在hadoop中,我们采用的是RPC协议。 该协议主要包含四个部分: 序列化层:协议中的参数采用Protocol Buf
阅读全文
摘要:我们会定义Job,我们会定义map和reduce程序。那么,这个Job到底是怎么提交的?提交到哪去了?它到底和集群怎么进行交互的呢? 这篇文章将从头讲起。 开发hadoop的程序时,一共有三大块,也就是Driver、map、reduce,在Driver中,我们要定义Configuration,定义J
阅读全文
摘要:在弄清楚yarn是什么之前,先来看一下MRv1。 它的由编程模型+数据处理引擎(map/reduceTask)+运行时环境组成(JobTracker/TaskTracker)。其中JobTracker存在很多问题,如下: 1、JobTracker本身承担了调度和计算的任务,太累了 2、JobTrac
阅读全文
摘要:从今天开始新的系列:Hadoop总结篇 之前的hadoop学习篇由于是学习过程中随手记下来的一些内容,不具有系统性。所以在这个系列中,将凭着这段时间的研究心得,来记录一些自认为比较重要的东西。 本系列的主要参考书目是《Hadoop技术内幕:深入解析Yarn架构设计与实现原理》 比如作业从提交到执行到
阅读全文