最具影响力的数字化技术在线社区

168大数据

 找回密码
 立即注册

QQ登录

只需一步,快速开始

1 2 3 4 5
打印 上一主题 下一主题
开启左侧

LHOTSE-一站式任务调度

[复制链接]
跳转到指定楼层
楼主
发表于 2014-12-3 22:05:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
背景
        随着互联网的不断发展,数据作为人们行为的基本载体已经在各个行业的决策及发展中起着越来越重要的作用,由此也涌现出了一大批处理大数据的、开源的系统及平台,如hadoop,HBASE,这些优秀的平台,从计算处理模到数据存储模型,都为用户使用大数据提供了新的思路。但是它们离用户的业务逻辑却相对较远。腾讯为例,一个典型的数据处理流程为:
1、业务方产生数据;
2、数据流转入存储平台;
3、数据分析人员书写处理逻辑;
4、计算平台执行处理逻辑;
5、结果返回给业务方;
        在此过程中,我们无法要求某一个人能够同时兼顾所有方面,所以就必须要有一个系统来将不同职责的人的工作有机的结合起来,由此即引入了一个概念—任务调度。任务是指数据处理中的某个基本单元,比如一次入库、计算或出库;而调度则是按业务逻辑将这些基本单元有机组合并按序执行,直至产生用户需要的结果数据。
        当前最为常用的任务调度即是Crontab调度,按时间先后顺序来调起各个处理单元,但由于业务数据处理耗时的不确定性,仅靠时间先后来保证整个流程是不明智的,因此就呼唤更为复杂的、有着严格任务依赖顺序的调度系统的出现,在腾讯即为这里要介绍的Lhotse调度系统。

框架
        在功能上,Lhotse处于整个数据处理体系的中间层,它连接了用户业务系统与更偏向后台的数据存储与计算平台,如下:



        如上章中提到的数据处理过程,每个步骤的负责人将自己的工作转化为各个平台间的数据流转或是计算任务,再配以各个任务之间的强依赖,保证1-5整个流程完整而有序的执行。
        在具体实现上,Lhotse对用户的业务逻辑进行了全面的考量,以任务配置及其依赖关系为基础,配以多种可并行执行的核心服务及周边工具,达到高效调度且灵活易用的目的。其总体功能结构如下:



功能介绍
接入层
1、 功能丰富的前台任务配置及管理界面,这是我们推荐用户接入Lhotse系统最主要的方式;
2、 与前台功能相当的后台查询及驱动服务接口:可以实现Lhotse系统与用户自有业务系统的无缝对接。
核心调度层
1、 周期任务执行:根据用户的任务特性,周期性且准时的生成任务的动态实例,达到周期性完成用户操作的目的;
2、 依赖管理:按用户配置的依赖关系,定时调整各个任务,完成整个数据处理流程;
3、 实例下发:按依赖关系,结合当前系统资源负载状况,将任务输送至特定的平台执行;
功能插件层
根据不同用户的需求,以可插拔的方式,支持多种插件的同时运行,满足用户在数据处理流程中不同特性的需求;
存储层
冷热分离,在能完整保存所有任务完整执行流水的情况下,仍能保证系统运行的高效性及前台检索的迅速返回;
功能特性
有了以上的功能模块,Lhotse就能为用户提供完整的、一站式的数据调度服务了,其主要特点如下:
丰富的任务类型
Lhotse已经将数据处理全过程抽象为55种基本的任务类型组合,用户要做的仅是根据需要选择任务类型并且按依赖组织成自己的工作流即可。 同时Lhotse允许用户自己扩展任务类型,只要保持协议一致,用户可自行添加满足自己需求的任务类型;
多样的依赖关系及视图展现
        在整个调度系统中,任务依赖关系是最核心的,它直接决定了数据处理结果的质量。Lhotse系统是由多个不同的系统不断演变来的,在此过程中抽象出4 种依赖类型:
1、全周期依赖:在大周期依赖于小周期场景下,比如日任务依赖于小时任务,需要24个小时任务全部成功执行后,日任务才会运行;
2、最后周期依赖:在大周期依赖于小周期场景下,比如日任务依赖于小时任务,只需要第24个小时任务成功执行后(前面23个成败与否都不管),日任务就会运行。
3、任一周期依赖:在大周期依赖于小周期场景下,比如日任务依赖于小时任务,只需要这24个小时任意一个任务执行成功,日任务就会运行。
4、未来周期依赖:在相同周期,比如小时任务依赖于小时任务,子任务往往为了统计效果等原因,需要使用到父任务在下一个小时的数据,因此只有等父任务下一周期的任务完成后,子任务才会被启动。
        此4种依赖模型已能涵盖用户超过95%的处理需求。同时它提供了一套完整的视图管理流程,让整个业务过程可视化,执行过程一目了然。





高效的任务下发
        任务调度系统作为用户与计算平台的一个中间系统,其下发具体任务到平台的性能是衡量其好坏的一个重要标准。Lhotse系统将下发过程中的依赖判断、资源判断等过程并行并且服务化,保证正确性的同时也极大的提高了任务下发的效率。目前情况下,所有任务下发时长已稳定在5-7毫秒,并且在任务积压时也不会出现雪崩效应。
隔离的资源分配
        Lhotse系统将所有的调度资源按组分离,保证每个小组拥的最小资源占有,同时还可以去争抢空闲的公共资源池。这样不仅做到资源的隔离, 同时也能提高整体的资源利用率。
全面的监控报表及告警
        Lhotse系统提供了全面的任务执行报表,用户可以看到各类型每天执行情况的比对,一旦出现波动异常即可发出告警通知,同时通过区分业务错误与系统错误,极大的减小对用户的影响。
灵活的接入方式
        如上面提到的,Lhotse系统不仅提供了功能丰富的前台系统,同时也为现在已经有调度平台的使用者们提供了REST接口,使得Lhotse系统可以与其它业务的调度系统实现无缝接合。
丰富的周边工具
        除主体功能外,Lhotse系统还提供了补录、重调、任务冻结、任务终止与强制成功、任务复制、日志详细展现等工具接口,方便用户在前台或后台完成对整个流程完成一站式的的干预操作。
我们的未来
        截止目前,Lhotse系统已稳定运行3年,总有调度机器300台,日调度任务数已达200万。但随着业务的发展,会要求它更高效,更稳定,同时也更加易用。因此,在可预见的未来,我们有以下方面需要努力:
1、 运行更快:即进一步提高任务下发性能;
2、 调度资源任务使用更合理:随着系统的不断发展壮大,基本阈值配置的资源管理模式已经逐渐不能满足要求,我们需要根据机器的实际负载状况,来动态的调整任务的下发策略,正是基于此,结合Lhotse与时下最火的资源调度系统YARN,也必然是水到渠成之事;
3、 用户使用更方便:如提供完整易懂的日志系统以及正确完善的任务执行状况诊断监控系统,也将会是我们工作的重点。


楼主热帖
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 赞 踩

168大数据 - 论坛版权1.本主题所有言论和图片纯属网友个人见解,与本站立场无关
2.本站所有主题由网友自行投稿发布。若为首发或独家,该帖子作者与168大数据享有帖子相关版权。
3.其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和168大数据的同意,并添加本文出处。
4.本站所收集的部分公开资料来源于网络,转载目的在于传递价值及用于交流学习,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
5.任何通过此网页连接而得到的资讯、产品及服务,本站概不负责,亦不负任何法律责任。
6.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源,若标注有误或遗漏而侵犯到任何版权问题,请尽快告知,本站将及时删除。
7.168大数据管理员和版主有权不事先通知发贴者而删除本文。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

关于我们|小黑屋|Archiver|168大数据 ( 京ICP备14035423号|申请友情链接

GMT+8, 2024-4-24 19:06

Powered by BI168大数据社区

© 2012-2014 168大数据

快速回复 返回顶部 返回列表