Hadoop 0.23.0是一个通用的资源分配框架,它不仅支持MapReduce计算框架,同时也支持流式计算框架,迭代计算框架,MPI等。它实现时采用基于了事件驱动机制,异步编程模型,如下图所示:
该图片来自《Hadoop 0.23 MRv2分析》
EventHandler被称作事件处理器, 每种事件类型对应一种EventHandler,其对事件的处理过程通过状态机来描述,handler 接收到一个事件后,使处理对象当前状态跳转到另外一个状态,同时触发一个动作。
(1)状态机
每个对象被建模成有限状态机,如:
• RM:Application,ApplicationAttempt,Container,Node
• AM:Job,Task,AttemptTask
• NM:Container,Application
如:application的状态机如下,刚开始application所处状态为NEW,待收到一个STARTED事件后,会转化成SUBMITTED状态。
(2)基于actors model的事件模型
该模型有以下几个特点:
[1] 每一个计算实体可以:
<1> 向其他actor发送有限个信息
<2> 收到的消息时触发一个行为
<3> 创建若干个新的actor
[2] 固有的并行性
[3] 异步的
如上图所示(小写表示状态,大写表示事件),两个actor(实际上是C++对象)对应两个不同的状态机,某些actor的事件(如事件A)会触发actor内部状态的转化,而另外一些事件(如事件Y)会触发其他actor的状态转化。具体事例,在后续的文章中会提到。
Hadoop-0.23.0代码并不像之前的Hadoop代码那样容易阅读,由于采用了actor model,其代码逻辑具有跳跃性,往往在看某个代码块时,由于逻辑需要,会跳跃到另外一个代码块,这之后又会跳跃,….。
为了更容易地阅读Hadoop-0.23.0代码,本人拟按照以下步骤进行:
<1> 熟悉其主要模块(ResourceManager,NodeManager,Client,ApplicationMaster)的功能;
<2> 阅读各个模块之间的通信协议;
<3> 分别深入各个模块,画出各个对象的状态机及搞清其转化逻辑;
<4> 分析各个模块主要功能的实现方法。
相关推荐
yarn-v0.23.2.tar.gz 在安装ambari,源码编译的时候下载的文件有问题 手动下载 地址 https://github.com/yarnpkg/yarn/releases/download/v0.23.2/yarn-v0.23.2.tar.gz
脚本使用:vim编辑脚本,按照自己的配置修改主机号,我的是hadoop1、2是NN;hadoop2、3是Spark Master;hadoop3还是RM;hadoop4、5、6是DN、NM、Spark Worker。编辑完成后在满足“前提”的任意一台主机运行均可。 ...
yarn-v1.22.5.tar.gz
yarn npm cnpm pnpm可通用的,就是底层node_modules位置不一样而已,不过修改原理都是一样的,大家可以自行下载研究,目前仅在windows下测试,macos跟linux还未测试。 下面说下安装步骤: 1.在项目更目录中安装,...
yarn编码,实现Application列表查询,Application的kill操作。以及Job的查询,map和reduce个数查询
YARN(MRv2)搭建
SPARK2_ON_YARN-2.4.0 jar包下载
hadoop学习总结包含mr、yarn、hdfs
yarn-workspace-plugin-since
详细介绍了Hadoop2.x的资源管理框架yarn,内容丰富,很有帮助。
YARN配置、启动与验证 YARN配置、启动与验证 序号 任务名称 任务一 YARN组件参数配置 任务二 MapReduce组件参数配置 任务三 配置SSH无密钥登录(slave1为主节点) 任务四 分发YARN与MapReduce配置文件 任务五 启动...
npm install -g yarn yarn install 安装失败,使用官方下载的yarn.lock文件
YARN Essentials
yarn 前端打包工具指定配置文件
现在官网下载缓慢,这里可以直接下载安装,所以分享给大家,以供直接下载,版本号 yarn-1.0.2.msi
tf-yarn是我们在Criteo建立的Python库,用于在Hadoop / YARN集群上训练TensorFlow模型。 可以在找到介绍性博客文章。 它支持在一个或多个具有不同分配策略的工作器上运行,并且可以仅使用几行代码就可以在CPU或GPU...
这将使git存储库中的.yarn/cache不存在。 它使用并重写历史记录,因此使用后果自负。 它的工作方式是先将带有--mirror标志的--mirror到临时路径中。 然后,它将计算.yarn/cache中文件的git对象ID列表,并将其删除。...
yarn架构详解,关于大数据yarn资源调度的详解
flink-hadoop-compatibility_2.12-1.7.1.jar javax.ws.rs-api-2.0.1.jar jersey-common-2.27.jar jersey-core-1.19.4.jar 解决 Exception in thread "main" java.lang.NoClassDefFoundError: ...
Yarn是 Facebook 提供的替代 npm 的工具具=