转载自: http://www.taskctl.com/forum/detail_133.html
最近在QQ群看到有小伙伴在问用taskctl调度kettle,都要安装些什么呢?都支持哪些平台上的kettle调度(windows/Linux)?从论坛搜到两种不同的调度方式那种是对的?如果都是对的,这两钟调度方式都有什么区别,那一种好一些?
带着这一系列的疑问,我们来看一下两份原贴的地址,http://www.taskctl.com/forum/detail_67.html, http://www.taskctl.com/forum/detail_124.html。其实从这两份帖子都是对的,只是采用了不同的方式来调度kettle。第一个帖子也是目前taskctl自带的插件,通过pan.sh(bat)或者kitchen.sh(bat)直接调用kettle的方式(和用户 通过crontab 或者 任务计划类似),跨机时需要安装代理;第二个帖子是新扩展的一种方式,是通过 kettle core 调用,使用java写的一个跨平台的插件服务,相较与老版本的插件,在效率和并发上都有一定优势,kettle插件服务本身已经集成了一个微型的web服务,用soap封装的,服务端的插件中直接封装的是curl发起的请求,此时调度kettle 目标机上不需要额外安装代理。
至此,我们可以来总结一下。如果kettle作业和Linux服务器在一台机器上,而且以前用的是crontab调度的,效率能接受,怕多安装一个插件服务的麻烦,可以直接用老版本的插件,当然此时如果想改善调度的效率,也可以采用kettle插件的方式;如果kettle作业和Linux服务器 不 在一台机器上,且kettle服务器只需要调用kettle作业,此时就可以用kettle插件服务,当然也可以用老版本的方式,根据kettle服务器的系统选择安装Linux代理还是windows代理,设计作业的时候,指定执行作业的节点即可。