Kettle自定义JDK版本(附Linux下安装部署步骤)

现需要在某台服务器上安装Kettle8.3,但该机器的JDK版本是JDK1.7,因此需要为Kettle单独指定 JAVA_HOME,方法如下:

vi  data-integration/set-pentaho-env.sh,显式设置 JAVA_HOME。

kettle安装部署步骤:

1. 将kettle安装包上传解压,安装完成之后,在kettle/data-integration下执行 ./kitchen.sh ,测试是否安装完成,显示帮助信息则表示安装成功。

2. 将commons-codec-1.11.jar,mysql-connector-java-5.1.46包拷贝进入kettle安装目录下的lib文件夹下,由于在linux下,需将lib下的jar包全拷贝进入libswt/linux下的x86及x86_64;

cp -r /hsdata/kettle/data-integration/lib/* /hsdata/kettle/data-integration/libswt/linux/x86
cp -r /hsdata/kettle/data-integration/lib/* /hsdata/kettle/data-integration/libswt/linux/x86_64

3. 查找并配置.kettle的属性文件(一般会在登录用户文件夹下,用ls -a 查看是否有.kettle隐藏文件夹,若没有则需要copy上传);

kettle.properties内容如下:

#数据文件输出地址
FILE_OUTPUT_DIR={kettle文件夹绝对路径}/business/data_sync
#转换或作业文件地址
FILE_JOB_DIR={kettle文件夹绝对路径}/job
#sftp上传配置
SFTP_PATH={上传文件夹的绝对路径} (如:/home/zang/upload)
SFTP_IP={sftp的ip地址}
SFTP_PORT={sftp端口}
SFTP_USERNAME={sftp用户名}
SFTP_PASSWORD={sftp密码}
#mysql链接配置(信贷账户)
MYSQL_INPUT_IP={mysql的ip地址}
MYSQL_INPUT_PORT={mysql端口}
MYSQL_INPUT_USERNAME={mysql用户名}
MYSQL_INPUT_PASSWORD={mysql密码}
MYSQL_INPUT_DATABASE={mysql库名} (默认值:asset)
#mysql链接配置2
MYSQL_INPUT_IP2={mysql的ip地址}
MYSQL_INPUT_PORT2={mysql端口}
MYSQL_INPUT_USERNAME2={mysql用户名}
MYSQL_INPUT_PASSWORD2={mysql密码}
MYSQL_INPUT_DATABASE2={mysql库名} (默认值:tamcx)

4. 在kettle文件夹下,创建job(存放转换或者作业文件),shells(存放执行脚本文件)business/data_sync(存放数据输出文件)等3个文件夹;

如下:

通过编辑shells中脚本,让其调度job下的dataAndCheckOutput.kjb作业,dataAndCheckOutput.kjb作业用于生成文件到business/data_sync,同时生成调度日志。

#!/bin/sh
export JAVA_HOME=/usr/java/jdk/jdk1.8.0_172
export JRE_HOME=/usr/java/jdk/jdk1.8.0_172/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
time=$( date  "+%Y-%m-%d")
/xxx/kettle/data-integration/kitchen.sh -file=/xxx/kettle/job/dataAndCheckOutput.kjb > /xxx/logs/kettle/kettle-$time.log

猜你喜欢

转载自www.cnblogs.com/zjfjava/p/12688977.html