对于生命周期较长的对象,YARN采用了基于服务对象管理模型对其进行管理。

    该模型有一下特点:

  •   每个被服务化的对象都分为4个状态
  •   任何服务状态变化都可以触发另外一些动作
  • 可以通过组合方式对任意服务进行组合,以便统一管理。

YARN中服务模型的类图(位于包:org.apahce.hadoop.service中)

在YARN中,resourceManager 和 nodeManager属于组合服务,他们的内部包含多个单一服务和组合服务,以实现对内部多种服务的统一管理。

所有的核心服务实际上都是一个中央异步调度器,包括ResourceManager、NodeManager、MRAppMaster等,他们维护了事先注册的事件与事件处理器,并根据接收的时间类型驱动服务的运行。

服务化和时间驱动的软件设计思想,使得YARN具有高内聚,低耦合的特点,各个模块只需要完成自己的工恩给你,模块之间采用时间联系起来,系统设计简单且维护方面。

Yarn的服务库和事件库的更多相关文章

  1. Hadoop2源码分析-YARN 的服务库和事件库

    1.概述 在<Hadoop2源码分析-YARN RPC 示例介绍>一文当中,给大家介绍了YARN 的 RPC 机制,以及相关代码的演示,今天我们继续去学习 YARN 的服务库和事件库,分享 ...

  2. 【深入浅出 Yarn 架构与实现】2-3 Yarn 基础库 - 服务库与事件库

    一个庞大的分布式系统,各个组件间是如何协调工作的?组件是如何解耦的?线程运行如何更高效,减少阻塞带来的低效问题?本节将对 Yarn 的服务库和事件库进行介绍,看看 Yarn 是如何解决这些问题的. 一 ...

  3. Hadoop服务库与事件库的使用及其工作流程

    Hadoop服务库与事件库的使用及其工作流程   Hadoop服务库: YARN采用了基于服务的对象管理模型,主要特点有: 被服务化的对象分4个状态:NOTINITED,INITED,STARTED, ...

  4. Yarn的服务库和事件库使用方法

    事件类型定义: package org.apache.hadoop.event; public enum JobEventType { JOB_KILL, JOB_INIT, JOB_START } ...

  5. 利用epoll写一个"迷你"的网络事件库

    epoll是linux下高性能的IO复用技术,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率.另一点原因就是获取 ...

  6. 【深入浅出 Yarn 架构与实现】2-2 Yarn 基础库 - 底层通信库 RPC

    RPC(Remote Procedure Call) 是 Hadoop 服务通信的关键库,支撑上层分布式环境下复杂的进程间(Inter-Process Communication, IPC)通信逻辑, ...

  7. ktouch移动端事件库

    最近闲来无事,写了个移动端的事件库,代码贴在下面,大家勿拍. /** @version 1.0.0 @author gangli @deprecated 移动端触摸事件库 */ (function ( ...

  8. Threejs 的场景查看 - 几个交互事件库助你方便查看场景

    Threejs 的场景查看 - 几个交互事件库助你方便查看场景 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致&q ...

  9. lufylegend库 鼠标事件 循环事件 键盘事件

    lufylegend库 鼠标事件 循环事件 键盘事件 <!DOCTYPE html> <html lang="en"> <head> <m ...

随机推荐

  1. PHP引用文件

    require: 可能多次执行的代码用require效率要稍高 require_once: 唯一区别是 PHP 会检查该文件是否已经被包含过,如果是则不会再次包含 include: 语句包含并运行指定 ...

  2. JavaScriptMinifier C#压缩Javascript

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Te ...

  3. python中读取配置文件ConfigParser

    在程序中使用配置文件来灵活的配置一些参数是一件很常见的事情,配置文件的解析并不复杂,在python里更是如此,在官方发布的库中就包含有做这件事情的库,那就是ConfigParser,这里简单的做一些介 ...

  4. WPF 中的字号问题

    用WPF搞打印机真是各种碰壁,尤其是对于我这个没有搞过打印机的人来说,更是遍布神坑T_T. 今天敲代码的时候发现字体的FontSize貌似跟单位也有关系啊,因为打印的时候效果感觉和预期竟然是有着差距的 ...

  5. EMVTag系列7《静态签名数据》

    Ø 5F24    应用有效期 L: 3 -M(必备) 1)  芯片中的应用失效日期5F24,服务码5F30,必须与芯片中的二磁道等效数据(Tag57)中的失效日期和服务码一致. 2)  qPBOC ...

  6. 使用工厂bean和Utility Schema定义集合

    工厂bean是实现了beanFactory接口的bean,也可以继承AbstractFactoryBean,主要是用于在给定属性参数之后自动创建一个bean对象. 我们在使用基本集合标记定义集合时,不 ...

  7. linux清除swap

    执行top会显示Cpu(s):  0.7%us,  0.3%sy,  0.0%ni, 99.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%stMem:   2044500 ...

  8. nodejs for centos配置

    mongodb http://www.cnblogs.com/zhoulf/archive/2013/01/31/2887439.html nodejs http://zhaohe162.blog.1 ...

  9. Java中的访问权限

    Java中有四种访问权限,从大到小依次是:public –> protected –> default(friendly) –> private. 简单说明下: public 作用域 ...

  10. DataView usage combind with event and ViewModel From ERP-DEV

    reflesh the selected item in DataView when we use DataView to display a set of data. Generally, we b ...