“我在spoon里面运行一个作业只要几秒种,但是在TASKCTL中运行却要好几十秒?”

“并行同时运行几个job,就把内存撑爆了,TASKCTL好占资源呀!”

TASKCTL中调用kettle作业,实际上是通过pan和kitchen命令去调用。每一次调用都会重新初始化kettle运行环境,这个过程占用大量的时间。并且每启动一个kettle运行环境都相当于启动一个JVM进程。每个JVM则会占用几百兆(默认设置)的内存。所以同时运行几个作业,也会消耗大量内存资源。极端情况则可能会导致kettle内存溢出,产生致命错误。

这次更新,采用直接调用kettle核心的方式来运行作业。使得调度效率大幅提高,消耗资源(不包含作业本身所耗资源)也大幅降低。并行执行多个作业也能轻松应对了。

一、安装部署:

1.      确保安装环境具备kettle程序目录

2.      下载好插件安装包taskctl-plugin-kettle_1.0.5.zip并解压至自定义安装目录

3.      进入安装目录,执行install命令。请注意windows环境需要以管理员身份运行。

4.    按照install程序的提示,确定kettle安装目录和IP及端口和资源库等信息。

5.      安装完毕后会生成cprunsoapkjb.sh (调作业)和cprunsoapktr.sh(调转换) 脚本,根据提示分别放到TASKCTL的插件目录下。

6.      执行startup命令启动插件服务,安装完毕!

二、使用教程:

1.      在桌面软件Admin中配置好kettle插件,如下图所示:

2.      通过Designer设计kettle调度流程如下代码:

1
2
3
4
5
6
7
8
9
10
11
12
       <ktrjob>
          <name>ktr2</name>
          <progname>$HOME/mykettle/myktr.ktr</progname>
          <para>filename=output,line=$(msystime)</para>
          <jobdesc>核心调转换很快</jobdesc>
        </ktrjob>
       <kjbjob>
          <name>kjb5</name>
          <progname>$HOME/mykettle/mykjb.kjb</progname>
          <para>filename=output,line=$(msystime)</para>
          <jobdesc>Linux文件系统</jobdesc>
        </kjbjob>

3.      把示例mykettle.zip解压拷贝至插件安装环境下的 mykettle/目录(window环境请放至d:\mykettle):

4.      编译流程后运行作业。可观察到在mykettle目录下,kettle作业生产的输出文件。

三、常见问题及解答:

Q:可以调kettle资源库的作业吗?

A:支持数据库资源库和文件型资源库。在插件安装过程中选择资源库类型DB(数据库资源库)或FILE(文件资源库)根据提示进行安装。

Q:调用windows平台的kettle作业,还需要安装TASKCTL的windows代理端吗?

A:不需要。该插件采用SOAP协议访问。只需要在windows环境安装该插件即可。

Q:提示“Can not Access the http://xxx.xxx.xxx.xxx:xxxx/ SoapAPIService”

A:需要执行startup命令启动插件服务,或检查8099(默认)端口是否打开。

Q:怎么传递参数给作业?

A:按照”para1=value2,para2=value2”的形式。需要在作业中预设好命名参数para1和para2。

Q:怎么调整作业的日志输出等级?

A:在插件的conf目录下,配置ctlconf.int文件。设置PLUGIN.KETTLE.LOGLEVEL=[kettle日志等级],并重新启动插件

Q:支持kettle哪些版本?

A:该插件在kettle 7.0上测试通过。理论上也支持其它kettle版本。

Q:插件日志保存多久?

A:30天


四、更新说明:

       2017-12-14:

1、新增停止插件 cpstopsoapjob.sh

2、适配TASKCTL 5.1

       2017-11-21:

1、适配kettle 4/5/6/7版本

2、修正安装程序bug

基于taskctl实现kettle任务调度相关推荐

  1. 深度解析 | 基于DAG的分布式任务调度平台:Maat

    阿里妹导读:搜索中台建设过程中,单个系统不再能满足复杂业务的需求,更多时候需要多个子系统互相协作,异步地按照指定流程完成一项特定的功能.例如一个应用的上线流程依次需要调用配置同步模块.监控模块.资源更 ...

  2. kettle大于0的转换成1_第一期实训周:基于Python+MySQL+Kettle+R的某网站数据采集分析...

    ↓ 基于Python+MySQL+Kettle+R的 某网站数据采集分析 哈喽!各位学员们 咱们第一期课程就要开始了 下面划重点! 一 高校院系 齐鲁工业大学数学与统计学院应用统计系 二 实训日期 2 ...

  3. .net core 实现基于 cron 表达式的任务调度

    .net core 实现基于 cron 表达式的任务调度 Intro 上次我们实现了一个简单的基于 Timer 的定时任务,详细信息可以看这篇文章 . 但是使用过程中慢慢发现这种方式可能并不太合适,有 ...

  4. 深度解析 | 基于DAG的分布式任务调度平台:Maat 1

    背景 什么是Maat? Maat是一个基于开源项目Airflow的流程调度系统,它支持用户自定义地组装流程节点,流程可以在用户指定的时间触发(支持crontab格式),或由用户手动触发. Maat的所 ...

  5. python dag调度系统开发_基于DAG的分布式任务调度平台-Maat

    背景 什么是Maat Maat是一个基于开源项目Airflow的流程调度系统,它支持用户自定义地组装流程节点,流程可以在用户指定的时间触发(支持crontab格式),或由用户手动触发. Maat的所有 ...

  6. eclipse spring boot项目搭建_基于Spring-boot的kettle调度项目

    介绍 基于Spring-boot的kettle调度项目,参考了zhaxiaodong9860的代码并引用了其中的页面管理,后台代码自行参考了API进行工具化编写,方便使用 在原代码的基础上加入以下功能 ...

  7. Java基于Quartz的定时任务调度服务(一)

    Quartz的基本用法 一 Quartz的简单介绍 Quartz 是 OpenSymphony 开源组织在任务调度领域的一个开源项目,完全基于 Java 实现,一个优秀的开源调度框架,其特点是:强大的 ...

  8. 基于 Quartz 开发企业级任务调度应用--转

    Quartz 基本概念及原理 Quartz Scheduler 开源框架 Quartz 是 OpenSymphony 开源组织在任务调度领域的一个开源项目,完全基于 Java 实现.该项目于 2009 ...

  9. 基于 Quartz 开发企业级任务调度应用

    简介: Quartz 是 OpenSymphony 开源组织在任务调度领域的一个开源项目,完全基于 Java 实现.作为一个优秀的开源调度框架,Quartz 具有功能强大,应用灵活,易于集成的特点.本 ...

  10. quartz (一) 基于 Quartz 开发企业级任务调度应用

    本文转自:http://www.ibm.com/developerworks/cn/opensource/os-cn-quartz/ Quartz 基本概念及原理 Quartz Scheduler 开 ...

最新文章

  1. 人工智能预测AI系统的“心灵”与“行为”
  2. ansible-01
  3. 自走棋电脑版_巨鸟公布自走棋正版自研手游:龙渊发行
  4. 拉普拉斯分布_中心极限定理:从高尔顿板到麦克斯韦分布
  5. Go语言 XML生成和解析
  6. selenium操作浏览器窗口最大化和刷新
  7. git粘贴命令行_如何使用git检测复制和粘贴代码?
  8. sql 中N'的作用
  9. 框架源码专题:Spring的事件监听、发布机制 ApplicationListener
  10. linux mysql修改数据表结构语法
  11. Java中常见流的分类及简单讲解
  12. 第二个冲刺周期第一天
  13. mac安装mysql devel_Mac安装Mysql
  14. 深度内幕丨揭秘积分墙新颖反作弊
  15. FPGA之三八译码器
  16. Java刷题细节知识点汇总——partThree
  17. shell脚本ping检测服务器连通性
  18. Windows 10 “无法打开这个应用” 应用出现问题,应该怎么解决?
  19. Msc.Marc的python开发#2
  20. 零基础wordpress安装详细教程(收藏)

热门文章

  1. Centos7 Zabbix监控部署
  2. 中国大学mooc 慕课 管理信息系统(同济大学) 第八章 电子商务 第九章 信息系统规划 习题 测试答案
  3. 数据结构-直接选择排序
  4. 英语听力学习方法,转自一牛人的博客
  5. python链家数据分析_练习—利用Python对链家网广州二手房进行数据分析
  6. c语言无法打开源文件stdafx.h,VS2013/2012/2010 下无法打开 源 文件“stdafx.h”的解决方法...
  7. php 字符串长度判断_php 字符串长度判断更高效的方法
  8. Java后台入坑二:renrenfast后台打包和前端打包运行
  9. 我的在校项目:校园类app
  10. 新建文件夹god.html,win10 新建文件夹没有了