Kylin的三种Job Scheduler任务调度器

1. 为什么需要Job Scheduler

在构建segment的过程中,需要处理大量的task。为了协调这些任务的处理,并且高效合理地利用资源,所以就需要Job Scheduler

共有三种Job Scheduler:DefaultScheduler、DistributedScheduler、CuratorScheduler

2. DefaultScheduler

参数:kylin.job.scheduler.default=0

DefaultScheduler是kylin默认的作业调度器。DefaultScheduler不能实现高可用,当提交了一个cube构建任务,提交到Kylin服务器A,Kylin服务器A会从Zookeeper的临时节点获取服务器级别的锁(实现类是ZookeeperJobLock),进行cube的构建。在Kylin服务器A释放锁之前,其它Kylin服务器不能进行cube的构建

3. DistributedScheduler

参数:kylin.job.scheduler.default=2

DistributedScheduler是一个分布式调度器,当提交了一个cube构建任务,提交到Kylin服务器A,Kylin服务器A会从Zookeeper的临时节点获取segment级别的锁(实现类是ZookeeperDistributedLock),进行cube的构建

之后再提交另一个cube构建任务,提交到Kylin服务器B,Kylin服务器B会从Zookeeper的临时节点获取segment级别的锁,进行cube的构建

但是提交相同的cube构建任务到Kylin服务器,则不能进行cube的构建,因为获取不到Zookeeper的锁

4. CuratorScheduler

参数:kylin.job.scheduler.default=100

Curatorscheduler是一个主从式的分布调度器

Kylin启动时,会使用LeaderSelector从所有Kylin服务器节点选举一台服务器作为Leader,其它Kylin服务器节点为Follower

Leader负责cube构建任务的执行。如果Leader挂了,则从其它Kylin服务器以相同的方法,选出一个新的Leader

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值