JobKeeper分布式调度引擎:分布式并行调度,动态兼容
JobKeeper的背景在没有JobKeeper如此智能的调度平台辅助时,大数据处理时很不方便,因为在处理大数据时通常都会调用多个软件组件,而多个工具的使用当时只能依靠手动来调用,才能完成整个处理流程,这样大大的增加了处理成本,也浪费了很多时间、人工。针对这样的情况,云创经过多次针对性调研整理,研发出JobKeeper智能调度平台,成功解决这一难题,通过JoKeeper调度平台,在处理大数据时,可以很方便的按流程来自动调用所有的组件,除此之外,智能的JobKeeper应用范围很广泛,不仅仅局限于大数据处理,而且各个方面都适用,并且可以对机器进行性能监控。JobKeeper产品简介JobKeeper是南京云创存储有限公司自主研发的分布式调度平台(亦支持单机),具有超高的任务处理性能,而且具有超高的可靠性,可不间断接受任务。JobKeeper是一种处理任务的超高性能分布式调度平台,JobKeeper可不间断接受从各台计算机提交的任务,再按照当前集群中所有机器的压力,智能进行分配任务,进而达到集群负载均衡,使得整个集群的性能始终保持最优。通过JobKeeper还可以对当前分布式集群的所有机器的状况进行监控,对集群中所有的任务进行停止、删除等功能。系统基本组成JobKeeper的系统架构如图1所示:图1JobKeeper系统架构图虚拟化资源层将机器进行虚拟化,形成更大范围的服务集群。存储层存储数据的处理结果集或其他中间结果集的单元。数据处理层独立的数据处理程序,是对不同需求数据的统一处理方案,由JobKeeper调度平台进行统一的配置管理。业务层对于应用层的相关功能的业务化,数字化处理,用于将应用层的需求任务进行规则化划分,形成统一的处理化模式。应用层一组用于管理和结果反馈的显示组件。是整个系统面向用户和开发人员的基础承载。JobKeeper的任务分发流程如图2所示:图2JobKeeper任务分发流程图当用户在应用层下发任务给管理节点,管理节点调度机器采集机器节点的信息,根据具体的算法选取最优节点并分发任务,接下来具体的处理节点接收到任务并处理同时将结果返回给管理节点,管理节点整理汇总处理结果,而后返回给应用层。服务器节点组负责对处理节点的系统信息以及任务处理信息进行实时的跟踪和保存,对应的信息镜像存储在基于cStor或者NFS服务的存储系统上。处理节点组通过RPC的远程调用获取各自节点的任务处理目标,并实时的和处理节点上的任务处理目标进行对比,控制程序的执行和结束。处理节点组会在一个设定的心跳间隔内主动的和管理节点组联系一次,报告节点存活状态。JobKeeper系统故障处理机制Jobkeeper的故障处理机制如图3所示:图3Jobkeeper故障处理机制图首先是任务处理节点宕机或者该任务初始化后出现错误,那么该任务返还到任务调度层交给调度节点重新分配。如果任务处理节点宕机或者子任务出现未知错误,那么该任务将返回到任务处理节点上由任务节点机器重新分配该子任务。而所有的任务信息和处理节点信息都会定时写入到磁盘文件所以不需要担心做了一半的任务要从头开始做。JobKeeper产品优势高可靠性平台采用“多主多备,负载均衡”的管理节点设计模式,和“处理实时跟踪”的处理节点设计模式,从而保证无论管理节点还是处理节点都不存在任何单点故障问题。低依赖性平台采用模块化设计思想,通过统一化配置和API接口的方式向用户提供服务。无论用户应用是用何种语言开发,何种处理方式,都可以交由平台进行统一的调度管理。低干预性平台采用基于事件化的统一管理模式。无论是动态扩展集群处理系统能力,还是单点故障的任务转移,又或者是任务的实时监控和动态分配,都将在系统无人值守的情况下自动完成。高实时性平台在高效率并行分布式软件的支撑下,可以实现对任务的实时分配,实时调度,实时处理。在机器性能允许的范围内,计算任务不会出现堆积的显现,所有任务的控制工作基本都在秒级完成,具有前所未有的高效性。JobKeeper市场应用应用范围应用描述成功案例传媒行业基于大量X86架构计算机构成的低成本云转码平台上进行高清视频转码。某传媒视频云转码平台等自动化研究对分布式集群进行智能调度与性能监控。某研究所大数据处理平台等移动络优化对分布式集群进行智能调度与性能监控。某运营商共享云平台等医疗行业海量数据处理的智能调配与集群性能监控。………… 预知产品详情,请您点击下方阅读原文。