首页 数据库 mysql教程 浅谈Hadoop YARN中的事件驱动机制

浅谈Hadoop YARN中的事件驱动机制

Jun 07, 2016 pm 04:29 PM
hadoop yarn 事件 作者 机制 驱动

作者: Dong | 新浪微博: 西成懂 | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明 网址:http://dongxicheng.org/mapreduce-nextgen/hadoop-yarn-event-driven/ 1. 函数调用与事件驱动 在基于函数调用的编程方式中,当一个对象要向另外

1. 函数调用与事件驱动

在基于函数调用的编程方式中,当一个对象要向另外一个对象传递信息时,会直接采用函数调用的方式。比如在Hadoop中,当TaskTracker需要执行一个Task时,一般首先下载Task以来的文件(jar包、二进制文件等、字典文件等)、然后执行Task,同时在整个过程中,会记录一些关键日志,该过程可用下图表示:

基于函数调用的编程模型是低效的,它隐含中整个过程是串行、同步进行的。一种更为先进的编程模型是事件驱动,这在Hadoop YARN和Mesos等分布式系统中得到了广泛应用。在基于事件驱动的编程模型中,所有对象被抽象成了事件处理器,而事件处理器之间通过事件相互关联。每种事件处理器处理一种类型的事件,同时根据需要触发另外一种事件,该过程如下图所示。

相比于基于函数调用的编程模型,这种编程方式具有异步、并发等特点,更加高效,因此更加适合大型分布式系统。

2. Hadoop YARN中的事件驱动

我们以Hadoop中的调度器框架为例说明基于事件驱动的开发模块给Hadoop带来的变化。在Hadoop 1.0中,Hadoop中的调度器是可插拔的,一次调度过程如下所示:

步骤1???? TaskTracker向JobTracker发送心跳,请求新的任务

步骤2???? JobTracker收到心跳信息后,调用TaskScheduler(可能是JobQueueTaskScheduler、FairScheduler或者CapacityTaskScheduler)的assignTasks()函数,为该TaskTracker分配任务。

步骤3???? TaskScheduler通过一定的策略选择一个或者多个任务,并返回给JobTracker

步骤4???? JobTracker通过心跳应答将任务发给TaskTracker。

注意,上面的步骤1~4是一气呵成的,仅当这四个步骤全部完成,一次心跳发送才算完成。

而在YARN中,由于采用了事件驱动,资源汇报和任务获取可异步进行。如下图所示,NodeManager向ResourceManager汇报心跳信息后,ResourceManager会简单收集一些信息直接返回给对应的NodeManager,同时触发一个NODE_UPDATE事件,该事件会被ResourceScheduler接收并处理,如果ResourceScheduler发现节点有空闲资源,则采用一定的分配算法将该资源分配给应用程序,并将分配结果暂时放到一个缓冲区中,等待ApplicationMaster自己来取。

总之,采用事件驱动之后,ResourceManager中的心跳处理和资源分配可以异步并发进行,而不像JobTracker那样同步串行进行。

原创文章,转载请注明: 转载自董的博客

本文链接地址: http://dongxicheng.org/mapreduce-nextgen/hadoop-yarn-event-driven/

作者:Dong,作者介绍:http://dongxicheng.org/about/


Copyright © 2013
This feed is for personal, non-commercial use only.
The use of this feed on other websites breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint:
)
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1662
14
CakePHP 教程
1418
52
Laravel 教程
1311
25
PHP教程
1261
29
C# 教程
1234
24
罗技ghub驱动不支持win7吗?-罗技ghub驱动为什么只能安装在c盘? 罗技ghub驱动不支持win7吗?-罗技ghub驱动为什么只能安装在c盘? Mar 18, 2024 pm 05:37 PM

罗技ghub驱动是不是不支持win7?不兼容。由于Windows7已停止更新且不再是微软的主要操作系统,许多新软件不再支持它,如罗技ghub。罗技驱动的主要界面:1、软件主界面在左边,三个按钮依次是灯光,按键,灵敏度设置。2、灯光界面的设置中,一般特效比较常规,音频视觉效果是亮点,可以根据声音频率变色,根据高中低音频段来进行设置,有不同的颜色和效果。3、按键设置中,用户可以根据自己有什么特殊要求的可以在这里编辑。4、灵敏度设置里面有很多用户会有一些属于自己的设置,可以自己加DPI速度切换点,但是

罗技驱动恢复默认配置步骤 罗技驱动恢复默认配置步骤 Feb 28, 2024 am 11:04 AM

面对无法正常使用的罗技驱动,只可以通过恢复出厂来解决,但很多小伙伴不知道怎么才可以去恢复出厂设置,下面就为大家提供详细的恢复出厂设置步骤,希望可以帮助到你们。罗技驱动恢复默认配置步骤1、首先下载罗技专用驱动软件GHub,下载完成后打开,2、然后打开鼠标进行设置,在点击右上角的设置(齿轮),3、最下方就由“恢复默认设置”,直接点击后,重新开启软件就恢复出厂设置了。罗技驱动怎么连接设备1、打开鼠标后盖拿出无线鼠标插口,2、选择电脑旁的鼠标插入口,3、鼠标设置对应的参数信息,4、蓝牙配对设备,长按蓝牙

雷蛇鼠标驱动怎么下载 雷蛇鼠标驱动怎么下载 Mar 11, 2024 pm 03:40 PM

下载雷蛇鼠标驱动的步骤:1、打开浏览器,进入雷蛇官网;2、在官网页面,寻找并点击“技术支持”或类似的选项;3、在技术支持页面,选择“鼠标”或具体的子分类;4、在鼠标驱动下载页面,你可以看到各种鼠标型号及其对应的驱动程序;5、点击所选驱动程序的下载链接;6、下载完成后,检查下载的文件是否完整,确保没有损坏或缺失。

win11没有数字签名的驱动怎么安装_Win11驱动没有数字签名的处理教程 win11没有数字签名的驱动怎么安装_Win11驱动没有数字签名的处理教程 Mar 20, 2024 pm 04:46 PM

有些用户在安装win11电脑的驱动时遇到了一些问题,电脑提示无法验证此文件的数字签名,导致无法安装驱动,这该怎么解决呢?详细请看下文介绍。1、按【Win+X】组合键,或【右键】点击任务栏上的【Windows徽标】,在打开的菜单项中,选择【运行】;2、运行窗口,输入【powershell】命令,然后按【Ctrl+Shift+Enter】以管理员权限打开WindowsPowershell窗口;3、用户账户控制窗口,你要允许此应用对你的设备进行更改吗?点击【是】;4、管理员:WindowsPowers

win11驱动没有数字签名怎么解决?win11驱动没有数字签名的解决教程 win11驱动没有数字签名怎么解决?win11驱动没有数字签名的解决教程 Feb 19, 2024 pm 11:20 PM

我们在使用win11系统的安装或者是运行程序的时候有时候需要数字签名才能够正常的使用,但是也有不少的用户们在询问win11驱动没有数字签名怎么解决?用户们可以以管理员权限打开WindowsPowershell窗口来进行操作就可以了。下面就让本站来为用户们来仔细的介绍一下win11驱动没有数字签名的解决方法吧。win11驱动没有数字签名的解决方法方法一:1、按【Win+X】组合键,或【右键】点击任务栏上的【Windows徽标】,在打开的菜单项中,选择【运行】。2、运行窗口,输入【powershel

声卡驱动在哪里打开 声卡驱动在哪里打开 Feb 22, 2024 pm 01:39 PM

声卡驱动在哪里打开声卡驱动是计算机中一个非常重要的组成部分,它负责处理声音信号的输入和输出,以及对声音信号进行解码和编码。在操作系统中,我们可以通过打开声卡驱动来控制和调节计算机的音量,并且在需要时可以连接外部音频设备。那么,声卡驱动在哪里打开呢?下面将为大家详细介绍。首先,声卡驱动的打开方式取决于您的操作系统。在Windows系统中,您可以通过以下步骤打开

深入了解CSS布局重新计算和渲染的机制 深入了解CSS布局重新计算和渲染的机制 Jan 26, 2024 am 09:11 AM

CSS回流(reflow)和重绘(repaint)是网页性能优化中非常重要的概念。在开发网页时,了解这两个概念的工作原理,可以帮助我们提高网页的响应速度和用户体验。本文将深入探讨CSS回流和重绘的机制,并提供具体的代码示例。一、CSS回流(reflow)是什么?当DOM结构中的元素发生可视性、尺寸或位置改变时,浏览器需要重新计算并应用CSS样式,然后重新布局

教你如何快速安装打印机驱动(详细教程) 教你如何快速安装打印机驱动(详细教程) Mar 14, 2024 am 11:30 AM

  电脑连接打印机之后,需要安装相应的打印机驱动才能正常运作,一些打印机故障也是需要通过打印机驱动才能解决的。那么我们要怎么安装打印机驱动呢?主要分为两种方法,一种是手动那种,一种是借助第三方软件。  方法一:手动安装法要确保知道自己使用的打印机品牌和型号,可以在购买时的详情页面或说明书上查找,另外也可以在打印机本身上寻找相关标识。  在搜索引擎输入品牌名,认准官网后进入在【软件和驱动下载】处选择【打印机】,输入产品型号,下载打印机驱动程序。  下载完成后,找到对应的程序,双击进行安装,待安装完

See all articles