linux下部署和执行kettle——(配置文件、动态获取、后台执行)

一.部署准备

1.1 java安装(略)

1.2 JDK配置

        1.     命令行键入“cd /etc进入etc目录

2.     命令行键入“vi profile打开profile文件

3.     敲击键盘ctrl+F到文件末尾

4.     在末尾处,即第一个~的地方,敲击键盘将以下内容输入到文件

export JAVA_HOME=/usr/java/jre1.6.0_45

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

     5.     键盘敲击exc,命令行键入“:wq”,保存文件;

   JDK配置成功:

      1. 命令:java -version.出现版本信息

      2. 命令:echo ${JAVA_HOME}出现配置路径

               

二.kettle部署

1.在linux下某个目录下创建一个文件夹,将你从官网上下载的kettle(我的是pdi-ce-5.1.0.0-752.zip)解压后放在该文件夹

 下。

2.在解压的路径下找到kitchen.sh所在的路径,进入该目录,通过chmod +x *.sh赋予.sh文件执行权限。

3.输入命令./kitchen.sh。如果出现帮助信息说明部署成功。

三.shell脚本执行kettle job或转换

以执行一个转换为例:

1.我的kettle部署位置:

/home/kettle


kitchen.sh(用来执行job)和pan.sh(用来执行转换)等都在data-integration下面。

2.transtion下有一个实现文件转移的job和两个文件夹:源文件夹和目标文件夹。执行job的shell脚本也放在此文件夹下:


startup.sh的内容:

/home/kettle/data-integration/kitchen.sh -file=/home/kettle/transition/move.kjb log=log.log。

3.进入startup.sh在的路径:

cd /home/kettle/transition

4.输入命令:./startup.sh即可执行move.kjb.

四.kettle环境变量配置及配置文件

 很多人会忽视kettle的环境变量配置,因为不配置它,在linux下照样可以执行kettle的job和转换。然而,配置环境变量,尤其是使用配置文件是非常有好处的。

比如上面的那个job,在通过spoon图形界面设置这个job时,源文件夹路径和目标文件夹路径,我都定死了:


这样的坏处显而易见:如果在别的linux服务器上执行这个job,别人又不知道你的设定的源文件夹路径和,目标文件夹路径等变量。显然就不能执行。这个job也没多大实际的意义(假如你使用了kettle做了个很大的数据处理工程,里面的诸如文件路径,数据库连接url,名及用户名和密码都设定死了。别人在他们的linux服务器上怎么用你的?)

相反,这时候,我们利用kettle的配置文件就会非常方便。

1.配置kettle环境变量。最简单的方法,只要执行命令KETTLE_HOME=?就行了(?代表路径。如/root

export KETTLE_HOME=/root

输入:echo ${KETTLE_HOME}。看到/root。且在这个路径下输入:ll -la。会看到.kettle文件夹。说明配置成功。

2.配置kettle.properties文件。

进入.kettle文件夹,会看到kettle.properties文件。只要在里面配置需要的变量。在想要的地方通过${}就能取得变量的值,这样就实现了动态配置kettle job或转换相关的参数。


五.后台执行job或转换(适合定时执行job)

只需

/home/kettle/data-integration/kitchen.sh -file=/home/kettle/transition/move.kjb log=log.log &(“&”就是这个符号了!!)


赶着时间下班,写的乱,别怪!

  • 11
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值