游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

腾讯大数据分布式任务调度平台US

  〔浮云〕活动推荐:DataFun五周年直播
  〔礼物〕直播亮点:发布业界首个数据智能知识地图
  〔中国赞〕观看方式:重磅!业界首个数据智能知识地图发布
  导读:今天和大家分享一下腾讯统一大数据调度平台US,主要包括以下四大部分内容:系统简介系统设计运营情况未来规划
  分享嘉宾马朋勃腾讯大数据高级工程师
  编辑整理曹红姣平安人寿保险
  出品社区DataFun
  01hr系统简介
  统一调度平台是腾讯自研的一款分布式离线任务调度平台,主要负责腾讯离线分析任务的定时调度。主要起到承上启下的作用,承上即指开放接口对接数据应用平台及一些重点业务,启下即指驱动各个计算、存储资源按照任务的依赖关系有条不紊的运行。
  典型场景:
  该场景主要包括:数据收集、数据分析计算、数据出库3块内容。数据收集,支持将用户侧生成的文本数据、关系型数据、消息型数据等收集完成后,通过入库任务入库至大数据平台,即生成ODS层的数据。用户可以通过统一调度平台提供的计算引擎,比如Hive、Spark等,定义统一调度的计算任务对数据进行加工,加工后的数据即为DWD或DWS层数据。接着经过一系列挖掘后生成用户想要的有价值的数据,例如生成一张报表或游戏日活统计数据。最终通过统一调度平台的出库任务将数据推送至用户侧供其使用。目前支持关系型数据的推送或者文件系统,调用统一调度平台提供的接口进行数据的拉取。
  总体而言,大数据平台就像是一个巨大的数据加工厂,原材料是用户生成的原始数据,成品就是加工提取后有价值的数据。而统一调度平台在工厂中承担一个管家的角色,协调各个组件有条不紊的运行。整个加工过程数据存在上下游依赖关系,数据依赖就直接反映出任务的依赖,基于任务的依赖关系就生成了一张复杂的DAG图,而统一调度平台按照调度周期驱动DAG图周而复始的运行。
  02hr系统设计
  1。第一代调度架构挑战
  第一代调度架构设计之初能满足当时的业务需求,但随着任务体量不断增长,因为架构设计及技术选型的原因,已很难满足业务即时性的要求。主要表现为:
  其一,调度核心模块扩展比较困难,单个节点承载的任务量已达到系统的极限,一
  旦任务堆积可能就会引起后续任务的延时;
  其二,数据库负载已达到瓶颈;
  其三,没有一个完善的资源管控,因为底层资源有限,而资源消耗型的业务可能会占用大量的资源,导致时序性要求很高的任务延时;
  其四,任务优先级关系管理不当,导致大量的关键任务延迟,进而造成报表延迟;
  其五,系统存在大数据量处理效率不高的问题,比如任务的实例化或任务的下发等。
  如下针对任务实例化及任务调度进行重点说明。针对第一代调度架构存在的问题,有两个方案可以解决此问题:其一,自研新一代调度平台;其二,采用开源调度方案。
  2。开源调度方案
  业界关注得更多是调度平台的通用性,往往数据规模比较小,即未考虑海量的数据规模。例如:针对airflow当任务量达到百万规模时性能已达到瓶颈。另外airflow的维护成本非常高,因为airflow的文件定义是通过Python文件做定义,当有成百上万工作流时,就需维护成百上万的Python文件。另外,基于腾讯较高业务复杂度,数据体量大,集群跨地域等背景,需要设计一款支持横向扩展,且能满足腾讯集群规模和大体量任务量的任务调度平台。
  3。新一代调度系统架构
  新一代调度系统重点考虑扩展性、高可用、高吞吐、灵活性4个指标。该系统架构引入了BaseMaster解决调度层的单点问题;根据业务的不同,设计不同的调度核心负责不同的业务,不同调度核心支持互相的迁移,如果任务增长即可通过扩容调度核心进行解决。对于数据库负载的问题,通过将数据库由MySQL更换为Tbase(腾讯自研的分布式数据库),并且通过Hbase做了一个数据的冷热分离;为解决资源管控不够完善的问题,根据资源设计了基于资源的公平调度算法,限制资源消耗型业务的任务并发,避免抢占关键任务的资源造成报表延时。并且对调度内核进行了彻底的重写,提升了整体性能。
  如上,为新一代调度架构系统。用户通过前台和第三方平台调统一调度平台接口层,通过网关限流、鉴权和审计之后,API将任务定义或者工作流定义写到存储层,然后调度核心从存储层拿到对应的任务,接着调度核心再从控制层拉取对应的分析片任务,然后调度核心进行对应的任务实例化,比如:天任务每天生成一个实例、小时任务每小时生成一个实例)、依赖判断、并发控制和任务下发;第二代调度系统对比第一代调度系统做了哪些优化,具体优化措施又是如何?如下主要从实例化和任务下发两点来进行阐述。
  4。实例化
  (1)实例化性能瓶颈及解决方案选型
  由上图可知,任务实例生成作为调度核心的第一步动作,如果它发生了延迟,后续依赖判断及任务下发都会延迟,进而导致结果数据延迟。第一代调度系统的任务实例化存在任务实例化性能低下的问题,导致分钟级任务调度支持度低,任务延迟严重等问题。
  与此同时,任务实例化存在的挑战包括:体量大,即每天调度百万级任务,生成千万级实例,并且单库达到3亿历史实例;用户对实效要求高,短周期任务多,时间敏感度高;波峰效应,高峰期瞬时实例剧增,对系统吞吐性能要求高。
  通过分析发现,造成如上痛点的主要原因包括:应用负载高:调度内核负载高且水平扩展困难,百万任务单机调度;存储负载高:数据库单机已达到瓶颈,虽然做了读写分离,但是单节点还是需要保存所有数据;程序性能差:由于生成和写入数据库是串行操作,导致大数据事务,而且回滚又会造成大批量任务的延时。
  基于上述问题,我们探讨了业界常用的解决方案:
  存储可伸缩非代理模式的分库分表:应用和数据是放在同一个进程,它的优点是分片算法非常丰富,业务可以自定义分片逻辑;由于没有多余的服务进程,它的运维成本比较低,但是分片逻辑和业务耦合度高,导致泛用性较差。代理模式的分库分表:DAL(数据接入层)作为单独的一个进程存在,对业务的侵入低,但是需要维护DAL服务,运维成本相对而言高一些。分布式方案:对业务完全无感知,由DB层维护分布式事务和分片相应的逻辑,对硬件成本要求比较高。
  考虑到业务的侵入性和扩展性,最终选择了分布式方案,即采用Tbase做存储。Tbase是基于PG自研的一款分布式数据库,由专业的运维人员去维护。
  应用可伸缩水平伸缩:通过增加机器的方式来分担系统的压力,对架构设计要求相对较高。垂直伸缩:通过提高单机的性能,包括对软件的优化及硬件的升级,由于主要从软件层面,因此对开发人员的要求比较高。
  基于腾讯体量和成本的考虑,应用可伸缩这块在水平伸缩和垂直伸缩都有落地实现。接下来我们以实例化为例,看下具体的优化措施。
  (2)实例化解决方案
  就存储可伸缩做的具体优化包括以下3点:
  为解决MySQL单点性能的问题,将MySQL切换为分布式Tbase,支持数据库的水平扩展;
  为解决查询效率的问题,对数据做了冷热分离,冷数据采用Hbase做存储;
  为解决水平扩展,引入了BaseMaster,即每个调度核心在启动之后从BaseMaster去获取对应的任务分片,任务调度核心只负责对应分片的任务。
  应用垂直伸缩方案即是针对任务实例生成进行优化,生成实例的过程优化包括对实例进行Hash分桶。Hash算法可以自定义,并且每个桶可以自己定义桶的大小和缓冲时间,当桶满了或者达到它的缓冲时间之后,对这个桶做一个minibatch然后做批量提交,因为是有多个桶,就将之前的串行一次写入就转换为minibatch的并行写入,进而实例化性能得到大幅提升。
  5。任务下发
  (1)任务下发问题分析
  任务下发主要存在报表延时和服务压力大两个问题。具体表现为:偶发性重点报表达到分钟级左右的延时;服务压力大。
  任务下发面临的挑战包括:任务量大,达到千万级的任务下发;用户对数据实效性要求较高;底层任务依赖较繁杂,需要依赖计算、存储、权限系统及用户侧的OLAP等;底层资源有限;任务依赖繁杂,在有限的时间及资源内驱动繁杂的组件运行上千万的任务。
  分析报表延的案例发现造成报表延时的原因包括:未考虑链路依赖的优先级;比如:低优先级的父任务导致高优先级的子任务不能及时运行;低优先级的任务长时间得不到运行导致饿死的情况;用户对于小周期任务延时更加敏感;例如:因为调度时将月天小时任务一起执行,导致用户对小周期任务的延迟更加敏感;任务的依赖链路太长,导致下游任务不能及时运行,从而导致报表延时。
  分析服务压力大的案例发现主要原因是没有对服务器做并发控制,大量的任务可能会压垮服务器。例如:某个出库任务,将计算之后的数据出库到MySQL,这时大量的任务同时对多个表执行出库任务,这时可能会把用户侧的MySQL服务压死,这时需要限制服务的并发。
  而上一代调度算法采用优先级调度算法,进一步来说,优先级采用的是静态优先级。如下图所示,A任务的优先级低,B任务的优先级高,但是A任务下游有两个高优先级的任务,而B任务的下游没有高优先级任务,按照上一代调度算法,B要优于A运行,而实际理想的情况是,A要优于B运行。
  上一代调度算法支持任务并发控制,不支持服务并发。例如如下图所示:在上一代调度算法中,X下发两个正在运行的实例后,然后Y还可以下发两个任务去运行。理想的情况是,需要等到X的所有任务执行结束之后,然后Y才能下发。
  所以,最终得出的结论是问题出现在任务调度算法上。
  (2)任务下发方案选择
  由上可知,任务下发的调度算法主要从两个方向进行优化:动态优先级,优先级考虑任务动态执行过程;动态并发控制,根据资源实时动态做并发控制。
  参考操作系统的任务调度方案:FCFS(FirstComeFirstService),该方案优点是公平,但是该方案对短作业不友好;SJF(ShortJobFirst),该方案优点是全局等待时间最短,缺点是对长作业不友好;基于第和第方案都不能满足统一调度需求,只能做到局部最优。参考前两个方案设计了基于资源的公平调度算法即第个方案。RFS(ResourceFairSchedule),综合考虑动态优先级(基于任务执行过程动态计算优先级)和资源的并发控制(执行过程动态执行动态并发)。
  为实现第个方案,带来了两个问题,如何动态计算优先级?什么是资源,如何做资源的并发控制?
  a。任务下发动态优先级
  实现任务下发动态优先级的计算原则包括:任务的紧迫性,任务越接近Deadline,它的优先级越高;任务的关键性,即任务所对应的业务越关键则任务越关键,优先级越高;任务的频繁性,即任务越频繁优先级越高,即分钟任务的优先级天任务的优先级周任务的优先级月任务的优先级;周期的快捷性,短作业任务优先级长作业任务优先级;依赖的传递性,越是上游的任务优先级越高,因为下游的任务都依赖上游的任务。
  基于上述原则,整理出任务优先级要素:延迟时间(紧迫性):延迟越久,优先级越高静态优先级(关键性):业务关键任务周期(频繁性):分钟小时天周月任务类型(快捷性):check(检查)sync(同步)calculating(计算)链路(传递性):下游任务链路深度
  b。任务下发动态资源控制
  面临的主要挑战是,底层服务类型非常多,方案很难统一。比如任务下发到一个Executor(执行机,即包括物理机和容器)上,那Executor需要做资源并发控制,不能下发太多的任务把Executor资源压垮;同理,针对Yarn的资源队列,比如提交任务到Yarn上去,提交太多任务那就会造成任务阻塞,这时需要控制Yarn资源队列(Queue)的并发;包括Hive集群、HDFS集群或者用户侧的MySQL服务(Service)等,都需要做资源并发控制。另外,随着服务的资源消耗,需要动态计算任务的资源情况,它的实时性要求比较高。这块的解决方案是采用领域模型对服务进行一个高度抽象,即一切皆是资源(参考Linux操作系统一切皆是文件的思想),抽象一个资源接口,包括已用配额、最小配额和最大配额,根据服务资源量化为配额,即资源配额。于此同时,根据执行历史任务评估任务占用配额。
  (3)任务下发解决方案资源公平调度
  确定任务动态优先级和动态资源控制,我们看下基于资源的公平调度算法具体实现;资源公平调度的核心思想是如何从百万级任务中获取满足资源并发控制的最高动态优先级任务。
  最高动态优先级任务分为如下5个步骤:
  分片加载:调度内核加载对应分片的待执行任务;
  分桶:待执行任务Hash分桶;
  桶内排序:每个桶按照优先级进行桶内排序;
  桶内并发控制:桶内按照动态优先级从高到低遍历,判断资源并发控制,直到有一个任务满足并发控制;
  桶外排序:对每个桶满足并发控制的高优先级任务排序获取优先级最高任务。
  03hr运营情况
  1。实例化落地效果
  性能提升:性能提升30倍;百万任务实例化性能提升了10倍
  支持分钟级调度:满足业务分钟级调度需求
  2。基于资源公平调度落地效果
  用户重点报表均按时输出,满足用户分钟需求
  业务侧未出现因任务并发大引起的宕机现象
  3。运营现状内网
  核心指标:千万级日调度任务、万级用户规模、上千的集群规模、支持80任务类型
  每天调度任务数:千万级,任务数年增长50
  服务部门业务:IEG、PCG、CSIG、WXG、CDG等
  4。赋能公有云
  研发WeData数据开发平台,目前已开放使用,它是一款一站式的数据协作开发平台,包括数据分析、工作流协同编排、数据资产管理、数据治理等全链路的数据加工能力,帮助数据工程师高效构建企业级的数据中台。
  04hr项目未来规划
  短期规划:持续系统打磨,极致提升性能及用户体验;加强系统自运维,提升问题诊断分析能力;
  长期规划:打造一站式数据开发平台。
  05hr问答环节
  Q1:调度的周期拉取是轮询模式还是Trigger模式,系统语言是采用哪种语言编写?
  A1:采用Java语言编写。主要是支持两种模式,轮询模式主要针对大批量长周期的,对实时性不太敏感的任务调度采用轮询模式,对于短周期分钟级别实时性要求高的任务调度采用触发(加载系统内存的轮询,对系统内存消耗大)的模式。
  Q2:海量任务数据存储是如何解决的?
  A2:百万任务每天会生成千万级别的实例,存储做了冷热分离,把最近两天且状态处在待运行的任务或者依赖判断之前的任务全部存在Tbase(腾讯自研的分布式数据库)中。将已经运行成功的或者永久终止(重试很多次已失败)的任务存储在Hbase中。
  Q3:调度平台怎么实现自动扩容的?
  A3:腾讯调度平台引入了BaseMaster,BaseMaster的节点是支持热备的,每个调度核心从BaseMaster去拉取对应任务的分片,不同调度分片的任务分片如果宕机是可以水平迁移的。当扩容一个节点进来时,只需从BaseMaster去拉取对应的分片,然后BaseMaster就会从一个节点获取部分任务分配到新节点上去。
  Q4:任务的中间输出数据(二进制文件)是如何解决的?
  A4:针对各种组件,如Hive中间输出数据会存储在中间临时表,任务执行完成后会把临时数据表drop掉;另外,Spark这种会有一个临时的HDFS目录,用户把数据写到临时的HDFS目录,操作完成后会把临时目录进行清理;另外在计算过程中,为保证数据一致性,对Hive等组件也做了一些改造,执行完成后,会把数据会做一次性的move操作。
  Q5:版本更新时如何解决已运行但未执行完成的作业任务调度问题?
  A5:1、调度核心如果重启,如果这时作业状态已完成就会去提交状态,这时会不停重试提交状态,重试的步长也会不断放大,当调度起来后,就会把状态提交上来。2、如果DB故障,BaseMaster写DB失败后会将数据写入磁盘,待DB恢复之后,会从磁盘读取数据然后重新写入DB;3、不同的调度核心可以进行水平迁移,当任务A的调度核心停止后,会把任务迁移到其它的调度核心,只要有一定量的调度核心是存活,就能保证任务的正常调度。
  今天的分享就到这里,谢谢大家。
  分享嘉宾
  马朋勃腾讯大数据高级工程师
  参加工作近十年,有丰富大数据处理经验,先后就职于芒果网,阿里,腾讯。目前在腾讯负责千万级大数据离线任务调度平台的研发。
  DataFun新媒体矩阵
  关于DataFun
  专注于大数据、人工智能技术应用的分享与交流。发起于2017年,在北京、上海、深圳、杭州等城市举办超过100线下和100线上沙龙、论坛及峰会,已邀请超过2000位专家和学者参与分享。其公众号DataFunTalk累计生产原创文章800,百万阅读,15万精准粉丝。

为什么刘备迟迟不重用马超和赵云?刘备是个知人善用的人,他能给手下安排最适合的职务,赵云在历史上虽然也是个良将,但事实上相比名将,后人更多地是赞誉他是个名臣,更多地赞誉他的忠诚和为民着想的人品,论军事才能,赵云……刘彻送来十车好肉,霍去病硬是放臭掉也不吃,26年后才知他的用提到霍去病,相信每个人都知道,霍去病的横空出世,立刻扭转了大汉谈匈色变的悲催景况,迎来帝国辉煌的一页。元狩四年(公元前119年),霍去病再次带兵深入漠北歼灭匈奴主力,他一直追杀……王近山逝世,邓小平在悼词上划掉四个字,14年后为其题ampa1978年5月10日,将星陨落,一代名将王近山与世长辞。按照计划,王近山将军的遗体告别仪式于5月14日下午在南京军区举行。就在这天上午,南京军区接到中央军委5月13日的电报,任……恭亲王矫旨晋封自己生母为皇太后,四哥咸丰帝是如何报复的?清朝的皇太后之中,有这么一位特殊存在,既非前朝皇后,也非皇帝生母,只是前朝皇贵妃,但却被新帝晋封为皇太后,而且在位9天以后便死去,她便是孝静成皇后博尔济吉特氏,丈夫是道光帝,儿……唐僖宗赐他名全忠,他却反手灭了唐朝,真是莫大的讽刺朱温,出生于唐宣宗在位年间,宋州人。他的祖父、父亲都是有文化的教书先生,他上面还有两位哥哥朱全昱、朱存。由于父亲很早就过世了,母亲只好带着他们三兄弟到地主刘崇家当佣工。朱温长大……为防止前苏联入侵,林彪建设了人造山防御工程华北平原的人造山为了防御前苏联借道外蒙古的入侵,阻止敌人的坦克长驱直入。林彪提出:在广袤荒芜的北方建设人造山防御工事,华北、苏北、西北平原地区进行了该工程,毛泽东同志对该……这8个你习以为常的健康观念,可能是假的!快看看你做对了没有前段时间,可可和朋友去聚餐,没想到大家都越来越重视健康的生活方式了,但更没想到各种意外频发,争论不休。刚开始做饭,就有人说用不粘锅炒菜,容易致癌,以后给换一个;吃饭时,又……国乒上演直横大战!直拍小将03惨败出局,王楚钦横扫晋级乒乓球WTT澳门赛正火热进行,北京时间1月19日下午,国乒00后世界冠军名将王楚钦(横拍打法)登场,与直拍打法选手薛飞展开对决,结果这次直横大战的结果是薛飞03惨败出局,男单首……钟南山一生的痛,千金小姐嫁寒门小子,生下钟南山,56岁跳海自在很多人眼中,大家闺秀应该是衣来伸手,饭来张口的样子,她们从小受到富余的物质供养,拥有深厚的家底支撑,养成了飞扬拨扈不可一世的大小姐脾气。然而,很多豪门望族的大家闺秀并非……没有5G但支持北斗卫星消息!华为Mate正面再战iPhone华夏时报(www。chinatimes。net。cn)记者卢晓北京报道时隔两年后,华为Mate手机又回来了。9月6日,华为常务董事、终端业务CEO、智能汽车解决方案事业群……明末东林党极简史东林党起源背景:明朝中期以后,政治日益败坏,首辅张居正开始进行改革,取得了一定的成效。1582年万历十年明神宗亲政,张居正的许多新政很快被废除了。神宗统治时期,明朝国力渐……古人没有剃须刀,刮胡子全靠拔?小编带你回顾剃须刀发展简史古人没有剃须刀,刮胡子全靠拔?小编带你回顾剃须刀发展简史!如今的社会是一个看脸的社会,男生们或许可以没有1080Ti,可以没有果7,可以没有女朋友,但不可以没有一把剃须刀……
夫妻摆地摊一晚赚9000块遭群嘲,是眼红还是脱离大众收入真相在阅读此文前,诚邀您点击一下关注,既方便您进行讨论与分享,又给您带来不一样的参与感,感谢您的支持。文承爱编辑大宇三年防疫让越来越多的国人开始重视收入和储蓄的问……寻四川南充籍留法生林修杰后人,盼您提供线索寻找留法生后人1919年春天到1921年1月,陆续有20批共1800多位留法勤工俭学生,迢迢万里,瀚海艰辛,踏上自由故乡的法兰西海岸。他们之中,出发时年龄最小的12岁,最……先天性心脏病守护者梁维杰医生先天性心脏病守护者梁维杰医生:4个月做。咱们这个宝宝是7个月,7个月从现在看肺动脉瓣环的直径,还有肺动脉的直径,对他这个年龄来讲是偏小的。如果你现在7个月在4个月前……党中央进京赶考纪实文赵福山古时候,人们把举子进京会试称为赶考。而73年前,当中共中央从西柏坡迁往北平,筹建新中国时,一代伟人毛泽东同样称其为赶考。迎接党中央的准备工作1949年……秸秆制淀粉与蛋白研究取得进展粮食自主供给是保障经济社会稳定发展的关键。淀粉与蛋白是粮食的主要成分,也是重要的工业原料。随着工业生物技术的快速发展,以秸秆、二氧化碳等可再生碳源,通过生物制造技术规模合成淀粉……湖南农民运动考察报告读后感这篇文章写于1927年3月,也就是四一二反革命政变的前夕。在《中国社会各阶级的分析》中,教员已经详细分析了中国社会阶级的划分以及他们对于革命的态度:地主、买办、官僚、军阀……民间故事张作霖落难乞讨时,给他好饭好菜吃的孙寡妇,结局如何张作霖一个讨饭的小伙子衣不蔽体、骨瘦如柴,倒在了一个大户人家的门口。小伙子,小伙子,你醒醒,你怎么在这儿躺着啊?这户人家的女主人关切地问他。大姐,我已经好几天……巧合还是剽窃?除了中国,埃及希腊印度等都有女娲造人情节不同的国度上演一样的历史:中国有女娲造人的传说,没想到古埃及,古希腊,古印度,古巴比伦竟然也有同样的传说!中国的史前文明中有伏羲氏,女娲氏,燧人氏等人文初祖,传说他们是华……丝路瑰宝丨五星出东方利中国锦护臂精绝故地藏奇锦吹尽黄沙始到金石榴云新疆日报记者银璐在中国百年百大考古发现中,新疆民丰尼雅遗址和若羌小河墓地、吐鲁番阿斯塔那古墓群入选。这些入选的新疆考古发现生动阐释了新疆自古以来就是中国领土不可分割……时间的故事上古三皇时期大约100万年前燧人氏:燧人氏是旧石器时代燧明国(今河南商丘)人。被列为三皇之首,奉为天皇,尊称燧皇。燧人氏在商丘发明钻木取火,成为中国古代人工取火的发明者,教人熟食,结……在特殊时间节点,省里召开警示大会,还点名一个老虎撰文余晖昨天,是个特别的日子。3月23日,是党的进京赶考日。在这一特殊的时间节点,至少有三个省份召开了相关会议。这三个省份分别是河北、江西和宁夏。其中,……降维打击!RNG轻取三连胜2022年英雄联盟全球总决赛入围赛阶段小组赛继续进行,RNG在今日的两局比赛中,轻松战胜对手,拿下今日两连胜的同时,也收获了入围赛阶段小组赛的三连胜,而土耳其战队IW基本无缘晋……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网