一、背景

公司在用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. HDU 3255 Farming

    矩形面积并变形,一层一层的算体积 #include<cstdio> #include<cstring> #include<cmath> #include<ma ...

  2. 引用 struts2标签详解 - wo的的日志 - 网易博客

    引用 元元 的 struts2标签详解   引用 COLD 的 struts2标签详解 要在jsp中使用Struts2的标志,先要指明标志的引入.通过jsp的代码的顶部加入以下的代码: <%@t ...

  3. c#之从服务器下载压缩包,并解压

    项目的配置文件为了和服务器保持一致,每次打包时都从网上下载配置文件,由于下载的是zip压缩包,还需要解压,代码如下: using ICSharpCode.SharpZipLib.Zip; using ...

  4. WebRequestManager对象的使用

    WebRequestManager可以喝WebRequest对象一起使用. WebRequestManager对象的add_completedRequest方法,可以用来处理所有WebRequest对 ...

  5. CocoaPods安装和使用教程 分类: ios技术 ios相关 2015-03-11 21:53 48人阅读 评论(0) 收藏

    目录 CocoaPods是什么? 如何下载和安装CocoaPods? 如何使用CocoaPods? 场景1:利用CocoaPods,在项目中导入AFNetworking类库 场景2:如何正确编译运行一 ...

  6. leetcode--002 rpn

    package leetcode; import java.util.Stack; public class RPN { public static int evalRPN(String[] toke ...

  7. DialogFragment学习笔记

    创建DialogFragment 跟通常的创建Fragment差不多,XML,继承DialogFragment,复写onCreateView() public View onCreateView(La ...

  8. ios-贝塞尔曲线

    git下载地址:git@github.com:lu459700780/UIBezierPath.git 演示: #import "ViewController.h" @interf ...

  9. c# post 数据的方法

    网页自动登录和提交POST信息的核心就是分析网页的源代码(HTML),在C#中,可以用来提取网页HTML的组件比较多,常用的用WebBrowser.WebClient.HttpWebRequest这三 ...

  10. 【动态规划】Gym - 101102A - Coins

    Hasan and Bahosain want to buy a new video game, they want to share the expenses. Hasan has a set of ...