Yarn 组件的指挥部 – 调度器Scheduler

linux基础 为hadoop集群的搭建扫清了障碍,也为内存的管理,文件系统的管理扫清了障碍

接着到Hadoop的阶段,首先做集群的安装,深入到使用这两个核心的组件,分布式文件系统HDFS,解决大量数据怎么存储的问题,第二个就是分布式计算MapReduce。MapReduce的包含Yarn和MapReduce,随着集群规模的扩大,资源的管理必要用一个单独的组件Yarn来管理,程序员只要关注如何来写程序就好了。

然后讲了Zookeeper;

轻量级组件,往大数据集群里导数据的,比如Sqoop和Flume,分别代表了SQL和Log;如果是第三方的数据,可以用第三方的API来抽取数据。

Yarn作为资源管理器,Zookeeper作为资源协调器;

资源主要有disk/mem/cpu,G、G、core(PC、VC)(物理核,虚拟核)。Yarn管理内存和cpu;cloudera manager里cluster中有动态资源池和静态资源池。

configuration : 静态资源池  HDFS   Yarn 占整个操作系统资源的百分比,按组件来划分。之所以能实现这样划分,因为在linux中有个资源隔离技术叫CGroup,大名顶顶的Docker(linux上的容器)就是基于CGroup。

动态资源池,不是基于组件之间的隔离,是基于yarn组件内部的资源管理。若果靠编程来写作业,yarn组件要分大一点。

一个客户端提交了一个作业,另一个也提交了作业,就会对资源竞争,当资源、服务不够用的时候就会发生资源管理。怎么协调几个作业之间的关系。Yarn根据不同的客户端过来的作业,按照一定的策略去分配集群的资源。由yarn组件的指挥部scheduler调度器来做,有公平fair、优先级、FIFO。默认是基于优先级capacity的。Cloudera在自己的公平调度器里实现了基于优先级的功能 DRF (在yarn选项里设置weight权重)整个资源池的比例,乘上权重。虚拟核的数量,内存的最大值最小值,同时最大的作业数(一般资源池都是跟客户绑定的)

原文地址:https://www.cnblogs.com/if-happy/p/10666807.html

时间: 2024-11-05 11:34:58

Yarn 组件的指挥部 – 调度器Scheduler的相关文章

Yarn 调度器Scheduler详解

理想情况下,我们应用对Yarn资源的请求应该立刻得到满足,但现实情况资源往往是有限的,特别是在一个很繁忙的集群,一个应用资源的请求经常需要等待一段时间才能的到相应的资源.在Yarn中,负责给应用分配资源的就是Scheduler.其实调度本身就是一个难题,很难找到一个完美的策略可以解决所有的应用场景.为此,Yarn提供了多种调度器和可配置的策略供我们选择. 一.调度器的选择 在Yarn中有三种调度器可以选择:FIFO Scheduler ,Capacity Scheduler,FairS ched

(5)调度器(scheduler)

继承关系 原理介绍 Cocos2d-x调度器为游戏提供定时事件和定时调用服务.所有Node对象都知道如何调度和取消调度事件,使用调度器有几个好处: 每当Node不再可见或已从场景中移除时,调度器会停止. Cocos2d-x暂停时,调度器也会停止.当Cocos2d-x重新开始时,调度器也会自动继续启动. Cocos2d-x封装了一个供各种不同平台使用的调度器,使用此调度器你不用关心和跟踪你所设定的定时对象的销毁和停止,以及崩溃的风险. 基础用法 游戏中我们经常会随时间的变化而做一些逻辑判断,如碰撞

Cocos2d-X3.0 刨根问底(六)----- 调度器Scheduler类源码分析

上一章,我们分析Node类的源码,在Node类里面耦合了一个 Scheduler 类的对象,这章我们就来剖析Cocos2d-x的调度器 Scheduler 类的源码,从源码中去了解它的实现与应用方法. 直入正题,我们打开CCScheduler.h文件看下里面都藏了些什么. 打开了CCScheduler.h 文件,还好,这个文件没有ccnode.h那么大有上午行,不然真的吐血了, 仅仅不到500行代码.这个文件里面一共有五个类的定义,老规矩,从加载的头文件开始阅读. #include <funct

cocos2dx调度器(scheduler)

调度器(scheduler) http://cn.cocos2d-x.org/article/index?type=cocos2d-x&url=/doc/cocos-docs-master/manual/framework/native/v3/scheduler/zh.md

7.k8s.调度器scheduler 亲和性、污点

#k8s. 调度器scheduler 亲和性.污点 默认调度过程:预选 Predicates (过滤节点) --> 优选 Priorities(优先级排序) --> 优先级最高节点 实际使用,根据需求控制Pod调度,需要用到如下: 指定节点.nodeAffinity(节点亲和性).podAffinity(pod 亲和性). podAntiAffinity(pod 反亲和性) #指定调度节点 # Pod.spec.nodeName 强制匹配,直接指定Node 节点,跳过 Scheduler 调度

调度器(scheduler)

调度器(schedule)为游戏提供定时事件和定时调用服务. 调度器(schedule)的功能和事件监听器(eventlistener)的功能有点类似:都是在特定情况下调用某个事先准备好的回调函数. 不同之处在于:事件监听器需要通过手动触发(Trigger)来调用这个准备好的回调函数,而调度器是需要等到游戏运行了一个时间段(delta_time)后来调用这个回调函数 一般会把调度器封装成一个类: 一.需要一个注册回调函数的接口,这个接口的参数可能包括1:time,指需要运行多久后调用注册好的回调

cocos2dx调度器scheduler

/ 让帧循环调用this->update(float dt)函数 // scheduleUpdate(); // 让帧循环去调用制定的函数,时间还是1/60秒 // schedule(schedule_selector(T19Update::MyScheduleFunc)); // 定时器,每隔2秒调用T19Update::MyScheduleFunc函数 // schedule(schedule_selector(T19Update::MyScheduleFunc), 2.0f); // 有限

YARN的capacity调度器主要配置分析

yarn中一个基本的调度单元是队列. yarn的内置调度器: 1.FIFO先进先出,一个的简单调度器,适合低负载集群.2.Capacity调度器,给不同队列(即用户或用户组)分配一个预期最小容量,在每个队列内部用层次化的FIFO来调度多个应用程序.3.Fair公平调度器,针对不同的应用(也可以为用户或用户组),每个应用属于一个队列,主旨是让每个应用分配的资源大体相当.(当然可以设置权重),若是只有一个应用,那集群所有资源都是他的. 适用情况:共享大集群.队列之间有较大差别. capacity调度

Spring之调度器(Scheduler)

调度器的使用基本步骤准备工作: 1.获得一个调度器工厂:SchedulerFactory 2.获得一个调度器:通过SchedulerFactory.getSchduler()获得 3.往调度器里面添加一些想要写入的信息:scheduler.getContext().put("ypDao", scan_trans_task_quartz_period); 创建任务: 1.创建JobDetail实例,绑定Job实现类(例如QuartJob.class实现了Job的类): JobDetail