作者: 大圆那些事 | 文章可以转载,请以超链接形式标明文章原始出处和作者信息

网址: http://www.cnblogs.com/panfeng412/archive/2013/09/13/hadoop-capacity-scheduler-source-code-analysis.html

前段时间项目中使用到了Hadoop Capacity Scheduler调度器,根据业务需求,需要进行二次开发工作,因此研究了其实现原理及源码,这里是自己做的一些总结工作(摘自ppt)。

1. 基本原理

2. 配置实用

3. 源码分析

1)启动过程

2)作业初始化-1

3)作业初始化-2

4)调度算法

5)作业调度

6)作业完成

4. 总结

以上只是对Capacity Scheduler内部实现的一些学习总结,接下来有时间再和大家详细分享我们的业务需求以及对Capacity Scheduler的实际改造工作。

一句话概括:Capacity Scheduler是一个基于队列的多用户单资源的作业调度器,首先要理解其基本原理,然后学会如何正确配置使用,接着在实际应用中排查定位遇到的问题,最后还要能够根据特定需求对其进行定制开发:)

Hadoop Capacity Scheduler源码实现剖析的更多相关文章

  1. ThreadLocal源码深度剖析

    ThreadLocal源码深度剖析 ThreadLocal的作用 ThreadLocal的作用是提供线程内的局部变量,说白了,就是在各线程内部创建一个变量的副本,相比于使用各种锁机制访问变量,Thre ...

  2. Redis 源码简洁剖析 06 - quicklist 和 listpack

    quicklist 为什么要设计 quicklist 特点 数据结构 quicklistCreate quicklistDelIndex quicklistDelEntry quicklistInse ...

  3. ArrayList源码深度剖析,从最基本的扩容原理,到魔幻的迭代器和fast-fail机制,你想要的这都有!!!

    ArrayList源码深度剖析 本篇文章主要跟大家分析一下ArrayList的源代码.阅读本文你首先得对ArrayList有一些基本的了解,至少使用过它.如果你对ArrayList的一些基本使用还不太 ...

  4. HashMap源码深度剖析,手把手带你分析每一行代码,包会!!!

    HashMap源码深度剖析,手把手带你分析每一行代码! 在前面的两篇文章哈希表的原理和200行代码带你写自己的HashMap(如果你阅读这篇文章感觉有点困难,可以先阅读这两篇文章)当中我们仔细谈到了哈 ...

  5. JDK数组阻塞队列源码深入剖析

    JDK数组阻塞队列源码深入剖析 前言 在前面一篇文章从零开始自己动手写阻塞队列当中我们仔细介绍了阻塞队列提供给我们的功能,以及他的实现原理,并且基于谈到的内容我们自己实现了一个低配版的数组阻塞队列.在 ...

  6. libevent 源码深度剖析十三

    libevent 源码深度剖析十三 —— libevent 信号处理注意点 前面讲到了 libevent 实现多线程的方法,然而在多线程的环境中注册信号事件,还是有一些情况需要小心处理,那就是不能在多 ...

  7. libevent源码深度剖析十二

    libevent源码深度剖析十二 ——让libevent支持多线程 张亮 Libevent本身不是多线程安全的,在多核的时代,如何能充分利用CPU的能力呢,这一节来说说如何在多线程环境中使用libev ...

  8. libevent源码深度剖析十一

    libevent源码深度剖析十一 ——时间管理 张亮 为了支持定时器,Libevent必须和系统时间打交道,这一部分的内容也比较简单,主要涉及到时间的加减辅助函数.时间缓存.时间校正和定时器堆的时间值 ...

  9. libevent源码深度剖析十

    libevent源码深度剖析十 ——支持I/O多路复用技术 张亮 Libevent的核心是事件驱动.同步非阻塞,为了达到这一目标,必须采用系统提供的I/O多路复用技术,而这些在Windows.Linu ...

随机推荐

  1. jqeury datatable

    1.自定义列信息    "aoColumnDefs":[                               {                               ...

  2. HTML 透明、阴影,圆角等知识点

     table两个属性:cellpadding:内容与单元格边框的距离,内部距离cellspacing:单元格之间的距离,外部距离    table合并边框线:  border-collapse: co ...

  3. javascript 命令方式 测试例子

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. gcc编译时指定链接库的查找目录

    gcc编译时,如果需要链接的库的目录不在标准目录,则需要通过将保护库的目录/aa/bb/cc通过-L/aa/bb/cc 添加到搜索路径中,如: gcc -o xmltest xml_test.cpp ...

  5. [原创]HEXO博客搭建日记

    博客系统折腾了好久,使用过Wordpress,Ghost,Typecho,其中Typecho是我使用起来最舒心的一种,Markdown编辑+轻量化设计,功能不多不少刚好,着实让我这种强迫症患者舒服了好 ...

  6. color 和 mode

    ------siwuxie095 color 设置默认的控制台前景和背景的颜色 语法:COLOR [attr] attr  用于指定控制台输出的颜色属性,此属性由两个十六进制数字指定, 第一个为背景颜 ...

  7. centos添加开机启动项目

    centOS 配置开机自启动两种方式: 1.vi /etc/rc.d/rc.local 在此文件中加入启动的脚本 2.chkconfig 增加自己的脚本  --add --list --del 步骤: ...

  8. 测试C++代码与WebBrowser HTML的互动

    testWebBrowserDlg.h // testWebBrowserDlg.h : 头文件 // #pragma once #include "explorer1.h" #i ...

  9. 【笔记】CAP原理和BASE思想

    摘自http://www.jdon.com/37625 分布式领域CAP理论,Consistency(一致性), 数据一致更新,所有数据变动都是同步的Availability(可用性), 好的响应性能 ...

  10. PHP开发模式之代理技术

    在实际开发中,我们经常要调用第三方的类库如SOAP服务等.使用这些第三方 组件并不难,最麻烦的莫过于调用了,一般的调试手段最方便的莫过于记日志了. 示例: 假如有以下第三方类库. // filenam ...