最近两天感冒了,而且莫名其妙的嗓子哑了好几天,心情很是不爽。周末两天啥也不想干,坐在电脑旁边继续手撕kettle调度系统。
1、其实之前有整理过kettle的调度方法,有很多种,根据自己的需求合理选择其中的一种,如下图所示:
2、kettlePack 应该是深度集成kettle,将kettle的核心模块集成到系统里面,缺点就是和kettle严重耦合,升级比较困难,会遇到很多kettlePack本身的一些问题。
3、今天主要介绍本人开发的一款轻量级的调度管理系统:XXK-PDI。
XXK - PDI 后台管理系统是一款专门用于 Kettle 任务调度管理的系统。它基于若依框架开发,并集成了 Carte 功能。 该系统采用 Cron 表达式的方式对 Kettle 的转换(tran)或作业(job)进行灵活调度。无论是面对单个 Carte 服务器,还是 Carte 服务器组,它都能稳定、高效地完成调度任务,为您提供全方位的 Kettle 任务调度解决方案。
4、XXK-PDI使用介绍
1)常规登录,输入用户名和密码进行登录,如下图所示:
2)carte服务器信息维护,录入carte服务器信息后系统就可以基于carte进行调度了。如下图所示:
3)点击链接【查看carte信息】可以查看此carte服务器上面运行的trans &job 信息以及相关日志。(注这里只是将carte的原生页面内嵌到系统,不做任何修改)如下图所示:
4)选择trans/job 任一一条,点击眼睛按钮查询trans或者job的运行步骤详情、日志等信息,根据步骤详情可以进行调优化,如下图所示:
日志信息
5)文件服务器
文件服务器的作用是可以将本地的trans文件或者job文件上传到carte服务器指定的目录,也就是资源仓库所在的位置。
注:调度时若是单体carte服务器调度,可以通过此处上传文件,carte服务器组的不建议使用此处,可以手动将trans或者job上传到各个carte服务器相应目录下面或者资源仓库使用database方式。
6) kettle调度任务配置
这里可以支持系统中直接生成cron表达式,查看调度日志,如下图所示:
点击新增/编辑按钮进行配置任务配置,如下图所示
这里主要有如下几个参数:
carteCode:指定某个carte运行此task
groupName:carte服务器组的名称(目前支持组内随机和按照权重进行调度两种策略)
rep:carte服务器上面的资源仓库名称
name:trans或者job的名字
level:执行trans或者job的日志级别
7)carte运行时信息
这里记录了哪个trans/job在哪个carte服务器上执行,另外执行job的话,可以直接通过链接【查看运行日志定位到carte的运行信息】,如下图所示:
注:运行trans目前由于carte服务器没有返回carteObjectId导致无法直接定位到carte运行页面,只能通过carte服务器菜单进入查看。
所以可以将任务都设计为job进行运行规避此问题,有可能是kettle开发者故意而为之。
写在最后
XXK - PDI 是我本人基于深厚的专业知识和丰富的实践经验开发而成的系统,在开发过程中涉及大量的技术研发、测试验证以及后续的技术支持工作,这些都需要投入相当的资源。因此,目前无法将其免费开源供大家使用。付费使用 XXK - PDI,您将获得专业的技术保障、及时的更新服务以及个性化的解决方案,助力您的业务实现更高效的运作。