Kettle 的 Web 端管理工具 Kettle-Manager

GPL
JavaScript 查看源码»
跨平台
2016-11-23
马进举

平台简介

出发点

专门为kettle这款优秀的ETL工具开发的web端管理工具。

kettle作为非常优秀的开源ETL工具得到了非常广泛的使用,一般的使用的都是使用客户端操作管理,但问题是当投入生产环境使用时,动辄上百或几百个job需要管理,这时在使用客户端管理已经很难完成了。我所知道的解决方案有用命令行的调用的,操作麻烦,总之还是很难用啦,还有就是开发web端管理工具,kettle自带了一个web端管理工具,界面极其简陋不说,还很难用,基本无法投入生产环境使用,其他没留意到还有没有较好对众多job进行管理的工具。

基于以上情况,和我近两年的kettle定制开发与使用经验。我设计并开发了这款kettle web端管理工具。

关键信息

  1. 项目博客地址

功能介绍

主界面

image

参数设置

job运行参数设置,可以在页面上设置作业运行参数,每次运行作业时会用设置的参数覆盖默认值,这个很多人用不上。

image image

定时设置

操作界面与kettle中的开始控件界面一致,这个可能是最优用的功能之一。

image image

运行与停止

核心功能就不说了。

image

强制结束

强制结束等待的作业,针对正常停止无效的情况。

image

实时日志

实时查看作业运行日志,这个功能看起来不起眼,实际应该是很有用的。

image

作业目录

获取作业目录。

image

新建作业

支持页面新建特定类的作业,当前是四类。这些作业都支持页面修改。其中的KM作业是基于我的插件开发。这里的作业继承com.oss.job.AbsJob,这样的作业支持这里的KM作业,也支持下面的定时调度使用。

image image

删除作业

支持批量删除作业,这个很危险哦,小心使用,不会删除子转换和作业。

image

失败重启

支持配置失败自动重启、将job_version字段作为作业类别使用,便于分类管理。

image

定时调度

支持cron定时的调度,所有类必须继承:com.oss.job.AbsJob,作业支持参数配置,同一个类可以重复使用,传入不同的参数。这样开发的作业页支持用于上面的KM作业配置。

image image

con设计

引入一个cron辅助设计模块

image

按顺序运行

我已经开发好了一个上面的KM作业:com.oss.job.KettleJobRunner,这样的作业可以作为KM作业使用,也可以用于定时调度使用。

这个作业已经包含在项目中了,可以直接使用。

请参考KM作业示例和定时调度示例。

运行状态

作业的运行状态会定时反映到管理界面,我们可以通过多种条件筛选我们需要的作业进行批量运行或停止。

完成作业状态更新,日志文件记录的类:com.oss.job.JobManager,使用方式与按顺序运行的作业类似,请参考使用。

为了使部署简单,项目默认不依赖我开发的插件,你不使用KM作业功能,就不需要我开发的插件,项目默认已经在定时调度配置了该作业,并默认运行。

image

平台级日志

一般好的作业设计都会记录自己的日志表,详细记录作业运行状况,本平台提供了平台级日志功能,不涉及业务,记录了作业的开始停止时间,最终运行结果。

image

日志文件按天分文件夹存放,日志文件大小可以配置,若觉得占用空间,可以设计一个作业进行定时清理以前的日志文件,后续会提供该作业。也可以配置为不写日志文件。

该功能也是由com.oss.job.JobManager作业实现。与运行状态更新是同一个作业。

image

业务日志

Km数据库中有一张我设计的专门用于记录业务日志的表:METL_KETTLE_LOG,这个表是根据我们平常设计作业的经验设计的,需要作业设计人员在设计作业时填充此表数据,本平台已经默认提供了此表的查询。

此日志与平台级日志是互补关系,此日志更详细,涉及业务,平台级日志是后盾,主要用于问题排查等。

image image

KM作业示例

image

JS作业示例

该作业前部分操作基本与KM类似,区别在于具体的js基本配置

image

SQL作业示例

该作业前部分操作基本与KM类似,区别在于需要选择数据库,然后就是数据库脚本了

image

Shell作业示例

该作业前部分操作基本与KM类似,额外的需要配置脚本运行路径,默认:/tmp。

作业在linux上运行就写shell脚本,在windows上运行就写bat脚本。

都比较直观,就不多说了。

image

定时调度示例

image image

后续计划

  1. 支持简单的表对表作业新增。
  2. 考虑新增转换管理,开发通用km作业支持转换运行。
  3. 一个job同时在多个km中运行还需要考虑,日志,状态等
  4. 任务管理在设置定时时可能需要人为分散定时,考虑生成时间-运行任务数的分析图辅助进行分散定时。
  5. 作业管理显示上一次和下一次运行时间。
  6. 作业管理支持配置文件资源库运行。
  7. 改为支持文件资源库和更多数据库作为资源库。
  8. 权限管理,不同用户看到自己的作业,管理员看所有作业。
  9. 分布式、集群支持。
的码云指数为
超过 的项目
加载中
此软件有 6 条评论,请先登录后再查看。

暂无资讯

暂无问答

kettle-manager

平台简介 出发点 专门为kettle这款优秀的ETL工具开发的web端管理工具。 kettle作为非常优秀的开源ETL工具得到了非常广泛的使用,一般的使用的都是使用客户端操作管理,但问题是当投入生产环境...

2017/06/18 23:53
12.3W
27
开源kettle调度、管理平台[kettle-manager]部署参照马老师编写

1、主要按照马老师的博客步骤进行部署发布版安装支持windows和liunx系统 马老师的博客地址:https://www.cnblogs.com/majinju/p/5767001.html 项目下载地址:http://pan.baidu.com/s/1o7MIu...

2019/07/03 17:29
1.3K
1
Kettle与Hadoop(一)Kettle简介

目录 一、Kettle设计原则 二、转换 1. 步骤 2. 转换的跳 3. 并行 4. 数据行 5. 数据转换 (1)Date和String的转换 (2)Numeric和String的转换 (3)其它转换 三、作业 1. 作业项 2. 作业跳 ...

05/27 16:53
247
0
kettle之linux使用kettle

Kettle可以在Window、Linux、Unix上运行,数据抽取高效稳定,使用之前需要准备环境。 准备java环境,这里就不赘述了,建议jdk7以上版本。 上传kettle压缩包,并解压,我解压的路径是/usr/so...

2019/02/26 10:23
172
0
kettle的技巧

kettle的技巧

2015/09/25 23:28
1.5K
0
kettle 简介

描述 Kettle是一款开源的 ETL 工具,采用 JAVA 语言编写。 特性 高效稳定,支持多种类型的数据格式,如:MySQL,Oracle,PostGreSQL,CSV 等。 可视化设计。 概念 Transformation(转换):数...

07/19 13:24
71
0
kettle 跑马观花

# 一. Kettle能做什么? 数据迁移, 数据增量同步, 数据收集. # 二. kettle运行方式 1. 使用kettle的GUI客户端运行. 2. 命令行运行 3. 通过kettle的server端运行. # 三. kettle实例 ## 环境准备...

2017/10/26 18:01
130
0
Pentaho之Kettle

Kettle是Pentaho的一个组件,主要用于数据库间的数据迁移,到我用过的4.2版,还不支持noSQL,不知道4.4是不是支持了。 Kettle自己有三个主要组件:Spoon,Kitchen,Pan。其中Spoon是一个图形...

2014/11/18 11:38
406
0
关于kettle

1.点spoon.bat无报错也不运行 可以运行一下spoonDebug.bat 查看一下spoondebug.txt日志 我遇到这个问题时 是给他分配的内存太多了 我的电脑只有2g 给果他给分了2048M很明显运行不起来 这时用...

2018/07/19 14:43
54
0
kettle常见问题

摘要:本文主要介绍使用kettle设计一些ETL任务时一些常见问题,这些问题大部分都不在官方FAQ上,你可以在kettle的论坛上找到一些问题的答案 1. Join 我得到A 数据流(不管是基于文件或数据库...

2012/12/05 18:13
2K
1

没有更多内容

加载失败,请刷新页面

返回顶部
顶部