4. 远程执行job和转换
假设与前提准备:
这个例子有2台机器,192.168.1.10 和192.168.1.11
10上是主机,希望调用11上的job执行。
10和11把job和转换都保存在数据库repository中,这两个repository的name必须相同,repository的name在创建的时候指定,可以在~/.kettle/repositories.xml文件中查看。
要远程执行的job和转换在两个repository中都有并且一样。
通过kettle UI来远程执行:
首先在11上执行
cd [kettle安装目录]
./carte 192.168.1.11 8888
(注:端口号任意)
然后在10的kettle UI中打开要远程执行的job在左侧“主对象树”窗口中右击子服务器,新建:
然后在执行job的时候选择远程执行:
执行的运行情况可以在carte的窗口中看到。
通过java api来远程执行job:
首先设置全局变量,初始化
然后连接repository
读取job的meta信息,定义slave server信息
最后远程执行这个job
后记: 11和10两台机器的repository必须一样,否则远程执行的时候会报repository不存在或找不到之类的错误。
假设与前提准备:
这个例子有2台机器,192.168.1.10 和192.168.1.11
10上是主机,希望调用11上的job执行。
10和11把job和转换都保存在数据库repository中,这两个repository的name必须相同,repository的name在创建的时候指定,可以在~/.kettle/repositories.xml文件中查看。
要远程执行的job和转换在两个repository中都有并且一样。
通过kettle UI来远程执行:
首先在11上执行
cd [kettle安装目录]
./carte 192.168.1.11 8888
然后在10的kettle UI中打开要远程执行的job在左侧“主对象树”窗口中右击子服务器,新建:

然后在执行job的时候选择远程执行:

执行的运行情况可以在carte的窗口中看到。
通过java api来远程执行job:
首先设置全局变量,初始化

然后连接repository

读取job的meta信息,定义slave server信息

最后远程执行这个job

后记: 11和10两台机器的repository必须一样,否则远程执行的时候会报repository不存在或找不到之类的错误。