logo资料库

linux部署 kettle (超详细).docx

第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
资料共7页,全文预览结束
Linux部署kettle 步骤
Linux 部署 kettle 步骤 目的:把 windows 下的增量 job 部署到 linux 下去,实现 2 个数据库表数据的增量导入 ○1 首先在 windows 下创建好你的.kjb,.ktr 文件. a. 打开 spoon.bat 不用创建资源库. b. 新建 Transform 文件,保存到一个路径里去,比如说:d:\kettle\trans(路径不能带中 文)
c. 新 建 Transform job 文 件 , 调 用 之 前 的 保存好现在 .kjb
Job 属性为不重复执行,通过 linux 的 cron(定时器)实现。 ○2 该 job 在 windows 下运行正常。 ○3 把 linux 服务器上安装好 jkd ,配置好环境变量。(在此略) ○4 通过 PSFTP.EXE 上传刚才建立好的.kjb,ktr 文件到 linux 上。
出现最下面一行的字样说明文件上传到 远程目录/home/ubuntu 下去了
上 linux 对应的目录下查看下该文件。.ktr 也是利用同样的操作上传。 上传成功。 ○5 a.通过 wget:url (下载 pdi-ce-4.3.0-stable.tar.gz) 通过 sudo tar zxvf pdi-ce-4.3.0-stable.tar.gz 解压得到 data-integration [ 这个就是 linux 下的 kettle]。 我这里放在/home/ubuntu/下。 b.把 my_job.kjb,trans1.ktr 复制到/mnt/kettle 下【命令:cp my_job.kjb /mnt/kettle(当前路径在 /home/ubuntu 下)】。 ○6 在/mnt/kettle 下创建 2 个文件 test.sh,display.log。 命令:sudo vi test.sh Sudo vi display.log 并给这两个文件赋权限 chmod a+w test.sh Chmod a+w display.log 用 vi 编辑 test.sh 文件: 命令: Sudo vi test.sh 内 容 输入: echo "hello yookiwong" /home/ubuntu/data-integration/kitchen.sh -file=/mnt/kettle/my_job.kjb 然后 Esc(跳出编辑模式),再:wq!(保存退出)。(如果不保存用:q!直接跳出,w 写的一起,q 退出的意思)。 ○7 编辑用户自己的定时器 crontab(linux 下的) a. crontab –e 打开定时器编辑文件。(具体是打开那个文件,尚不知道)【 ( 查看当前用户的 cron 配置,使用 crontab -l
编辑当前用户的 cron 配置,使用 crontab -e 删除当前用户的 cron 配置,使用 crontab -r )配置系统级的任务,编辑 /etc/crontab 文件。】 b. 选择最 easest 的程序打开。 在最下面加入:*/3 * * * * /mnt/kettle/test.sh 1>>/mnt/kettle/display.log 2>&1 (每 3 分钟执行一次定时器)。 (我这里注释掉了,不会被执行,如果想执行请去掉前面的’#’,我也是通过# 在不想要这个 定时器的时候就加上#,不让其再运行。) 然后按 F3 保存。然后出来 按 Enter 键。 再按 ctrl+X。退出。 Cron 定时器就编辑好了。 然后去查看/mnt/kettle/display.log 文件。
命令:tail –f display.log 表明 job(my_job.kjb)执行完成。查看 2 个数据库表中的数据,是否一致。如果一致了表明增 量导入数据成功。 ○8 我本地操作系统是 windows,kettle 版本为 4.3.0,数据库为 postgreSQL 的数据库,远程 系统 linux 为 ubuntu。 有不对的地方望指正,联系作者:wangyvqi@163.com 。
分享到:
收藏