您的位置:首页 > 运维架构 > Linux

centos7.2环境中kettle环境搭建及任务推送配置详解

2016-09-23 16:36 661 查看
目标:将mysql5.5中testdb1的ehr_user表推送到tdoa的ehr_user表中,为避免不必要的麻烦,两张表结构、编码,包括数据库编码保持一致



操作系统:centos7.2

kettle:5.2

jdk:1.8.102

数据库:mysql

1.环境搭建

安装jdk1.8.102

rpm -ivh jdk-8u102-linux-x64.rpm

2.下载kettle软件上传到/data/目录下,并解压kettle.zip

3.在windows中建立好推送任务任务

具体步骤:

①安装好jdk1.8.102并设置java环境并设置java_home目录



②双击D:\software\source_tar\kettle\kettle\data-integration\Spoon.bat运行kettle软件

a.文件/新建/转换,保存下,此次我保持名为win_centos



db连接-新建,输入数据库的名称、连接IP、用户名、密码、数据库名,可以点击测试数据库是否联通,分别建立源数据库和目标数据库连接



点击运行可以进行测试是否连通













b.建立一个作业



将这些文件上传到/data/job目录中

kettle任务运行脚本,做成定时任务,每天晚上一次:

1 1 * * * /bin/bash /data/job/appPush/appPush.sh

cat appPush.sh

#!/bin/sh

JAVA_HOME=/usr/java/jdk1.8.0_102

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

PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOME

export CLASSPATH

export PATH

/data/kettle/data-integration/kitchen.sh -file=/data/job/appPush/win_centos.kjb > /data/job/appPush/bi.log

问题描述:

数据库中的数据在不同的数据库中转换来装换去,由于不同库可能使用了不同的字符集,所以可能导致结果数据乱码问题。此次是在一个作业中跑数据,跑完数据前台数据显示出现乱码,检查了作业中的多有中间过程表,包括表输入的预览,表中的数据都是正常的,可想而知,问题肯定是处在“表输入”到“表输出”这个中间的转换环节上,根据能想到的,应该是字符集问题,为了更有保障的“表输入”和“表输出”的字符集相同,所以在表输入输出中。都添加了字符集的配置参数characterEncoding,值为utf8,



步骤截图如下



主对像树/DB连接,源数据库和目标数据库都要改
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: