多级队列调度算法可视化界面-【大数据篇】数据加工的开源任务调度系统解决方案DolphinS_第1页
多级队列调度算法可视化界面-【大数据篇】数据加工的开源任务调度系统解决方案DolphinS_第2页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、多级队列调度算法可视化界_【数据篇】数据加的开源任务调度系统解决案DolphinS。前数据从来不是独存在的,对数据进处理的过程为数据加,数据加流程之间是存在依赖关系的,为了解决定时和依赖问题,我们引了任务调度系统。在数据平台中,任务调度系统负责管理任务的启动时间,任务之间的依赖关系,保证数据加流程能正确运。除了定时功能,任务调度系统对于任务之间的依赖处理使得调度更加灵活。同流程内的任务可以通过连线实现依赖;不同流程之间可以通过设置流程间的依赖关系结合来实现依赖。Apache Dolphin Scheduler 是个分布式去中化,易扩展的可视化DAG作流任务调度系统。致于解决数据处理流程中错综复

2、杂的依赖关系,使调度系统在数据处理流程中开箱即。DolphinScheduler 系统架构Dolphin Scheduler 1.3.x 的系统架构图如下所:Dolphin Scheduler 1.3.x01 MasterServer的系统架构由以下服务组成:MasterServer采分布式中设计理念,MasterServer主要负责 DAG 任务切分、任务提交监控,并同时监听其它MasterServer和WorkerServer的健康状态。MasterServer服务启动时向Zookeeper注册临时节点,通过监听Zookeeper临时节点变化来进容错处理。MasterServer基于net

3、ty提供监听服务该服务内主要包含:Distributed Quartz分布式调度组件,主要负责定时任务的启停操作,当quartz调起任务后,Master内部会有线程池具体负责处理任务的后续操作MasterSchedulerThread是个扫描线程,定时扫描数据库中的 command 表,根据不同的命令类型进不同的业务操作MasterExecThread主要是负责DAG任务切分、任务提交监控、各种不同命令类型的逻辑处理MasterTaskExecThread主要负责任务的持久化02 WorkerServerWorkerServer也采分布式中设计理念,WorkerServer主要负责任务的执和提

4、供志服务。WorkerServer服务启动时向Zookeeper注册临时节点,并维持跳。WorkerServer基于netty提供监听服务该服务内包含:FetchTaskThread主要负责不断从Task Queue中领取任务,并根据不同任务类型调TaskScheduleThread对应执器LoggerServer是个RPC服务,提供志分查看、刷新和下载等功能03 ZooKeeperZooKeeper服务,系统中的MasterServer和WorkerServer节点都通过ZooKeeper来进集群管理和容错,另外系统还基于ZooKeeper进事件监听和分布式锁04 Task Queue提供任

5、务队列的操作,前队列也是基于Zookeeper来实现05 Alert提供告警相关接,接主要包括告警两种类型的告警数据的存储、查询和通知功能。其中通知功能为邮件通知06 APIAPI接层,主要负责处理前端UI层的请求。该服务统提供RESTfulapi向外部提供请求服务。接包括作流的创建、定义、查询、修改、发布、下线、启动、停、暂停、恢复、从该节点开始执等等07 UI系统的前端页,提供系统的各种可视化操作界为什么选择 DS相信不少都使过 crontab 这个 Linux 系统带的调度具,crontab 配置简单、使便。crontab作为定时调度来启动些服务之类的挺便的,但随着调度任务的量级增加,相

6、互之间存在依赖关系也是较复杂,这时候crontab作为调度具就不能满我们对数据我们在整合数据加的过程中发现按照 crontab 调度来整合的话逻辑处理太复杂,作量太,不容易定位到问题,后期维护起来也较困难。后来也查了好种解决案,最终选择了Dolphin Scheduler,Apache Dolphin Scheduler是个分布式去中化,易扩展的可视化DAG作流任务调度系统我们可以通过使 DS 完成带调度的数据加01 DS的易性Dolphin Scheduler 具有图形化界,通过图形化操作界使开发更简洁可以在画布添加数据相关组件实现数据加,然后通过组件之间的连线确定任务依赖,在图形界我们也可

7、以很直观的看到树形图、特图、任务状态统计和流程状态统计展,还可以通过单个流程状态快速定位到问题节点查看志解决问题02 DS的可性Dolphin Scheduler 持集群 HA ,通过配置 ZooKeeper 实现 Master 和 Worker 的去中化设计,通过提服务节点的容错能实现服务的可03 DS持多种任务类型Dolphin Scheduler 持许多任务类型:Shell,MR,Spark,Flink,SQL(MySQL,Postgre SQL,hive,Spark SQL,Oracle等),DataX,Sqoop,Python,Sub_Process,Procedure等04 DS操

8、作类型的多样性我们可以通过 Dolphin Scheduler 实现流程定时调度、依赖调度、动调度、暂停/停/恢复,同时持失败重试/告警功能,从节点恢复失败、重跑等功能05 DS的参数设置Dolphin Scheduler持流程的全局参数设置和流程下的每个节点的定义参数设置06 DS的补数操作Dolphin Scheduler 持补数,包括串补数、并补数2种模式。串补数:指定时间范围内,从开始期结束期依次执补数,只成条流程实例;并补数:指定时间范围内,多天同时进补数,成N条流程实例07 DS的社区活跃Dolphin Scheduler 作为款中国团队开发的开源架构,他的社区是常活跃的,我们可以直接在GitHub上提交的问题,还可以在为微信群和众多开发者起讨论问题,社区活跃的优点在于般你遇到的问题别可能已经遇到过了,只需要描述清楚你的问题对号座基本上很快都能解决或定位到问题这边列2个在使DS过程中觉得常实的功能:1、依赖设置我们可以通过 DEPENDENT 管理流程之间的运关系,特别是在某些特殊情况下批次期为T-1的流程A依赖T-2、T-N或某个范围

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论