kettle系列-我的开源kettle调度、管理平台[kettle-manager]介绍

kettle管理工具

  • 专门为kettle这款优秀的ETL工具开发的web端调度、管理工具。
  • 新版本

 


项目简介

  • kettle作为非常优秀的开源ETL工具得到了非常广泛的使用,一般的使用的都是使用客户端操作管理,但问题是当投入生产环境使用时,动辄上百或几百个job需要管理,这时在使用客户端管理已经很难完成了。我所知道的解决方案有用命令行的调用的,操作麻烦,总之还是很难用啦,还有就是开发web端管理工具,kettle自带了一个web端管理工具,界面极其简陋不说,还很难用,基本无法投入生产环境使用,其他没留意到还有没有较好对众多job进行管理的工具。
  • 基于以上情况,和我近两年的kettle定制开发与使用经验。我设计并开发了这款kettle web端管理工具。
  • 本系统当前支持oracle和mysql
  • 本平台已经管理数百的job,并正常运行半年以上。

项目功能

  1. job运行参数设置,可以在页面上设置作业运行参数,每次运行作业时会用设置的参数覆盖默认值,这个很多人用不上。
  2. 定时设置,操作界面与kettle中的开始控件界面一致,这个可能是最优用的功能之一。
  3. 作业的运行与停止,核心功能就不说了。
  4. 实时查看作业运行日志,最大显示行数可以配置,这个功能看起来不起眼,实际应该是很有用的。
  5. 后台有一个作业专门完成将运行的作业日志写入日志文件,文件按天分文件夹存放,日志文件大小可以配置,若觉得占用空间,可以设计一个作业进行定时清理以前的日志文件,后续会提供该作业。也可以配置为不写日志文件。
  6. 作业的运行状态会定时反映到管理界面,我们可以通过多种条件筛选我们需要的作业进行批量运行或停止。
  7. 本系统是基于数据库资源库设计的,暂时不考虑支持文件资源库。
  8. 本系统还附带了一个kettle插件,类似kettle已有的自定义类控件(可以在转换中写java代码)。该控件的设计时为了避免每一个需求都去开发一个kettle控件,从后台元数据管理到操作界面设计。该控件采用灵活的JSON传递参数,然后继承一个基类就可以完成一个任务了,就是说基于该控件,只需要开发一个具体的操作类就可以了。有兴趣可以看一下,详细介绍参看:kettle系列-[KettleUtil]kettle插件,类似kettle的自定义java类控件

界面截图

主界面

  定时设置界面

参数设置界面

运行日志查看界面

  平台级日志,支持查询下载

使用说明

请参看我的另一篇博文:kettle系列-kettle管理平台部署说明

开发说明

  1. 一般都不需要自己开发,直接使用就行,若有bug或新功能需求,可以发邮件给我。
  2. 本项目基于开源项目EOVA开发:eova
  3. 若想进一步扩展功能,建议先搭建kettle开发环境,可以参考我的博文:kettle系列-1.kettle源码获取与运行
  4. 我的博客中还有多篇文章介绍kettle的源码等,可以作为参考。

后期开发计划

  1. 任务管理在设置定时时可能需要人为分散定时,考虑生成时间-运行任务数的分析图辅助进行分散定时。
  2. 作业管理显示下一次运行时间。
  3. 权限管理,不同用户看到自己的作业,管理员看所有作业。

附录

  1. 项目地址
  2. 我的邮箱:jinjuma@yeah.net。
  3. 交流QQ群:320302530(已满勿加),交流2群:142104962
  4. 已经打包好的软件下载
posted @ 2020-03-05 12:17  DarJeely  阅读(4944)  评论(0编辑  收藏  举报