一.部署准备
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= JAVAHOME/bin: PATH
export CLASSPATH=.: JAVAHOME/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)解压后放在该文件夹
下。
3.输入命令./kitchen.sh。如果出现帮助信息说明部署成功。
2.在解压的路径下找到kitchen.sh所在的路径,进入该目录,通过chmod +x *.sh赋予.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 &(“&”就是这个符号了!!)
赶着时间下班,写的乱,别怪!