一、背景

公司在用kettle做数据etl,每做完一个job或transformation发布上线想要立即执行看数据效果的话每次都是找运维同学登陆服务器打开kettle找到对应的文件点击执行,整个过程效率低下,不仅占用运维时间,期间自己也在白白等待,浪费生命。

google “kettle remotely execute” 得知,这个是有解决方案的,其实kettle 本身就自带了此解决方案,只是一直忙于工作无(lan)暇(de)研究。大致就是利用kettle自带的Carte  开启一个web服务器,再加上job 或transformation做一点配置即可实现登录web来触发执行某一任务。

二、准备工作

此博客基于windows服务器

1.下载Java JDK,版本1.5以上,如果之前已经安装且版本混乱之类,直接先卸载再重新下载一个安装

2.下载kettle。kettle绿色无需安装,下载完之后解压到指定的文件夹即可,同时请配置系统环境变量(PENTAHO_JAVA_HOME),value指定到安装的jdk对应的jre的目录(如下图),并找到Spoon.bat点击打开kettle。

  

请注意,是指定到jre的目录,不要搞错

三、开启服务器

基于第二步准备工作之后,请确保能正确打开kettle 软件。如果有问题无法正常打开,google解决方案。

我们先看到kettle的根目录,5.0之后的kettle 在根目录下会有Carte.bat(.sh是linux系统下使用的),我们要使用的就是它

window下 打开cmd,cd切换到kettle的根目录:

  

然后执行命令行,开启一个web服务器。

carte.bat 127.0.0.1 8081

等待十几秒,如出现下图提示即表示服务器开启成功

这一步成功的前提是 PENTAHO_JAVA_HOME环境变量配置正确,不然会提示java.exe找不到错误。

成功之后我们就可以浏览器打开 http:127.0.0.1:8081 看效果了,会给一个弹出框要求你输入账号密码验证:

这个账号密码是什么呢?别急,我们回到kettle的根目录下,找到pwd文件夹,双击进入,发现如下几个文件:

咱们的账号密码就配置在里面,打开-8081的xml文件:

<?xml version="1.0"?>
-<slave_config>
<!-- Document description... - masters: You can list the slave servers to which this slave has to report back to. If this is a master, we will contact the other masters to get a list of all the slaves in the cluster. - report_to_masters : send a message to the defined masters to let them know we exist (Y/N) - slaveserver : specify the slave server details of this carte instance. IMPORTANT : the username and password specified here are used by the master instances to connect to this slave. -->
-<masters>
-<slaveserver>
<name>master1</name>
<hostname>localhost</hostname>
<port>8080</port>
<username>cluster</username>
<password>cluster</password>
<master>Y</master>
</slaveserver>
</masters>
<report_to_masters>Y</report_to_masters>
-<slaveserver>
<name>slave1-8081</name>
<hostname>localhost</hostname>
<port>8081</port>
<username>cluster</username>
<password>cluster</password>
<master>N</master>
</slaveserver>
</slave_config>

咱们开启的是一个slave服务器,所以看slaveserver里面配置的username 和password,对,默认的都是cluster,这里的配置值就是你登录的账号密码。现在可以登录配置的carte服务器了。

进来后发现并没有任何东西,这是正常现象,因为我们还需要配置一下kettle的 job 和transformation,到这一步整个web服务器的工作就算完成了。接下来就是kettle文件的配置了。

四、Kettle配置

1.打开kettle,并任意打开一个job 活着transformation ,在左部菜单选择view,菜单选项里面有个Slave Server,这里我们需要配置一下。

咱们new一个 slaveserver ,响应的值:

这里请注意,ip 和 port 必须和我们之前开启的web 服务器一致,点击ok保存之后,记得share一下记住下来。

2.配置 job 或 transformation 的run options

打开任意一个job或transformation,配run options ,如下图:

继续配置:

会产生一个新的tab,这里我们的配置就完成了。

再打开 http://127.0.0.1:8081看看,在job 列表里面已经出现了刚刚我们配置的job

我们就可以点进去,在web 里面控制这个job,是不是很方便?

Kettle(Pentaho)实现web方式远程执行job或transformation的更多相关文章

  1. SSH远程执行命令环境变量问题

    SSH命令格式 usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec] [-D [bind_address: ...

  2. Linux Shell远程执行命令(命令行与脚本方式)

    需求:经常需要在一台服务器远程到其他节点的服务器上执行一些shell命令,如果分别ssh到每台主机上再去执行很麻烦,因此能有个集中管理的方式就好了.介绍两种shell命令远程执行的方法. 方式一: s ...

  3. kettle安装部署及远程执行

    一.windows环境 1.安装jdk 随意选择目录 只需把默认安装目录 \java 之前的目录修改即可 2.安装jre→更改→ \java 之前目录和安装 jdk 目录相同即可 注:若无安装目录要求 ...

  4. 首次远程安装 GlassFish 后以远程 Web 方式访问其后台管理系统出现错误的解决方法(修订)

    首次远程安装 GlassFish 服务后,如果以远程 Web 方式访问其后台管理系统,会提示 Secure Admin must be enabled to access the DAS remote ...

  5. Saltstack远程执行(四)

    Saltstack远程执行 语法例:salt '*' cmd.run 'w' -  命令:salt -  目标:'*' -  模块:cmd.run,自带150+模块,也可以自己写模块 -  返回:执行 ...

  6. python之实现批量远程执行命令(堡垒机)

    python远程批量执行 我并不是一个专业的开发,我一直在学习linux运维,对于python也是接触不久,所以代码写的并不是很规范简洁. 前段时间一个同学找我一起做一个自动化运维平台,我对pytho ...

  7. CVE-2013-1347Microsoft Internet Explorer 8 远程执行代码漏洞

    [CNNVD]Microsoft Internet Explorer 8 远程执行代码漏洞(CNNVD-201305-092) Microsoft Internet Explorer是美国微软(Mic ...

  8. 使用TreeDMS进行MySQL数据库的Web页面远程管理

    在互联网应用蓬勃发展的时代背景下,各种各样的网络平台,网络应用,移动应用层出不穷,那么这些应用及平台都需要使用到数据库.如何高效的对数据进行日常维护.管理.监控成为迫切需要解决的问题. 基于web的方 ...

  9. ASP.NET Web API 控制器执行过程(一)

    ASP.NET Web API 控制器执行过程(一) 前言 前面两篇讲解了控制器的创建过程,只是从框架源码的角度去简单的了解,在控制器创建过后所执行的过程也是尤为重要的,本篇就来简单的说明一下控制器在 ...

随机推荐

  1. astah* professional 6.9.0

    下载地址:http://members.change-vision.com/files/astah_professional/6_9_0 破解方法:按照Astah Professional 6.9后打 ...

  2. (简单) POJ 3126 Prime Path,BFS。

    Description The ministers of the cabinet were quite upset by the message from the Chief of Security ...

  3. BufferedReader 输出与BufferedWriter 输入的用法

    public static void main(String[] args) {  String content[] = {"好久不见了","最近好吗",&qu ...

  4. iOS 简易环形进度条

    demo下载地址:https://github.com/haozheMa/LoopProgressDemo/tree/master ViewController中的代码 #import "V ...

  5. 【转】国外程序员收集整理的PHP资源大全

    ziadoz在 Github发起维护的一个PHP资源列表,内容包括:库.框架.模板.安全.代码分析.日志.第三方库.配置工具.Web 工具.书籍.电子书.经典博文等等.伯乐在线对该资源列表进行了翻译, ...

  6. Linux下部署

    moto66@163.com       0144586wei 郭 2015/3/23 星期一 9:29:38 服务器密码:0144586Wei120.26.62.247

  7. UIButton常用属性小结(编辑中。。。)

    Button的功能很黄很暴力,即能显示文字,又能显示图片,还能随时调整内部图片和文字的位置,用的地方很多. (1)按钮常用的四种状态: normal(普通状态) 默认情况(Default) 对应的枚举 ...

  8. css(二) block,inline和inline-block概念和区别

    转: http://www.cnblogs.com/KeithWang/p/3139517.html 总体概念 block和inline这两个概念是简略的说法,完整确切的说应该是 block-leve ...

  9. IOS开发-UI学习-UITabBarController的使用

    UITabBarController具体实例如下图 我们最常见的就是微信最下面的四个按钮,通过这四个按钮可以导航到不同的界面. UITabBarController是一个容器,以下的例程中给UITab ...

  10. java 容器、二叉树操作、107

    二叉树本身固有的递归性质,通常可以用递归算法解决,虽然递归代码简介,但是性能不如非递归算法. 常用的操作是构建二叉树.遍历二叉树(先序.中序.后序.都属于DFS深度优先搜索算法,使用栈来实现),广度优 ...