网络资源:https://yq.aliyun.com/articles/62910
博客内容:课程笔记
第一章 分布式调度系统
一、分布式调度的主要作用:
像使用台式机一样使用云计算,将成千上万台硬件的运算能力汇合起来,提供可靠的云计算服务。在台式机时代,CPU是其最重要的部分,而在云计算中,分布式调度就扮演着CPU的角色。
第一章主要内容:
1)阿里云飞天分布式系统
2)任务调度系统
3)资源调度
4)容错机制
5)规模挑战
6)安全与性能隔离
7)分布式调度的发展方向
第一节 分布式调度系统
分布式调度的两大任务:
(1)任务调度:不同的业务部门在共享集群时,有大量的计算任务,任务如何切分,如何将海量的数据进行分割、在不同的节点进行运算,同时监控各个节点的运算状态。
(2)资源调度:供应双方的供给方,平衡不同的业务部门之间的资源使用,需要支持优先级抢占
分布式调度系统的比较:
(1)Hadoop MapReduce;
MR主从架构:
Jod Tracker及负责资源调度,又负责任务调度,当客户端用户提交作业至资源管理器,Job Traceker会将作业分发至不同的节点,在每个节点上都设置了一个名为Task Tracker,负责任务的调度和执行。这种主从架构存在天然的集中缺陷:
1):规模扩展存在瓶颈:Task Tracker这种节点的不断增加,在Job Tracker方面就是不断的添加内存条,会存在内存上限控制.
2):容错性差:Job Tracker是单节点的进程,如果Job Tracker出现crash或者整个机器出现宕机,所有集群中运行的作业情况以及资源分配结果是无法恢复的.
3):不利于功能扩展:不同的业务部门的调度策略不同(对资源的调度和使用策略不同),并且还要求支持热拔插(在不停止进程的情况下改变系统的调度)。
(2)YARN(应对上面提到的三个不足,在Hadoop1.0版本的基础之上做出的改进,本质上就是一个资源调度器);
YARN和Hadoop最大的不同:将任务调度和资源调度做了区分,能支撑起更大的计算规模
但是YARN目前仅仅支持内存维度的资源调度,像磁盘、CPU、网络的资源调度都不支持。资源交互链路增加,降低YARN的性能。
(3)Mesos;
(4)Aliyun-Fuxi;
第二节 任务调度