Kettle自身调度
在主调度作用的start上设置作业的定时调度后启动该调度即可 需要时刻保持kettle打开,以及资源库连接,不建议使用
Windows定时任务调度
在kettle部署的Windows采集机器上设置Windows定时任务执行kettle的bat文件即可 Bat文件内容如下
@echo off
rem 选择自己安装的kettle目录,示例为D:\kettle\data-integration
D:
cd D:\kettle\data-integration
rem 默认读取的是C盘用户目录下的.kettle文件夹中的repositories.xml
rem 若上述的.kettle目录做过处理,需先设置环境变量[set KETTLE_HOME=.kettle目录路径];若没有动过则无需变化
Kitchen.bat -rep=资源库名称 -user=资源库的用户名 -pass=资源库的密码 -dir=要执行的作业所在资源库的目录(/ETL/) -job=执行作业的名称(不用带后缀) -level=basic>D:\kettle\job.log
exit
各项参数说明 -rep:资源库名称 -user:资源库的用户名 -pass:资源库的密码 -dir:要执行的作业所在资源库的目录 -file:执行作业的名称(不用带后缀) -Level:日志级别及日志目录输出
Linux定时任务调度
Linux部署kettle
Kettle安装需先安装好jdk1.8 注意用户权限
kettle安装包上传
进入linux服务器先建立kettle的目录 示例:mkdir /home/kettle 然后将kettle安装包上传至此目录,并解压【unzip pdi-ce-9.1.0.0-324.zip】
数据库连接驱动上传
进入刚才安装好的kettle目录【cd data-integration/lib】,进入kettle的lib库目录,将自己需要的数据库驱动放置进去,数据库驱动自己下一下
配置环境变量
用哪个用户就去调整该用户根目录底下的环境变量即可 进入用户的根目录【cd ~】,然后编辑用户的.bash_profile文件 在其中添加 #kettle KETTLE_HOME=kettle的安装目录(例如我的是/home/kettle) PATH=$PATH:kettle的目录(例如我的是/home/kettle/data-integration)
添加完成后,执行【source .bash_profile】,使配置生效
验证安装是否成功
进入kettle的安装目录下【cd kettle/data-integration/】,执行【kitchen.sh】校验kettle是否安装成功
Linux配置kettle资源库
检查.kettle目录
在上一步执行了【kitchen.sh】后,会在用户的根目录下生成.kettle文件夹
准备资源库配置文件
在windows编辑kettle时(见上篇Kettle资源库新建和初始化配置),连接过资源库,因此在windows电脑上面已有资源库的链接配置repositories.xml 路径在windows的用户目录下的.kettle文件夹里
将此文件复制一份,并编辑修改此文件内容(数据库地址及用户密码调整确认)
注意需要将文件格式转为linux下的格式
将调整好的文件上传到linux服务器上的.kettle文件夹下
注意上传后,将文件权限调整为执行用户
Linux调度kettle采集
目录准备
在/kettle下新建一个job目录,用来存放编写的调度作业;新建一个log目录,用来存放调度作业生成的日志
注意文件夹权限调整为执行用户
编辑调度文件
进入刚才新建的job目录下 生成一个采集的调度文件,和上面的windows的类似,只是执行文件为kitchen.sh,示例
../data-integration/kitchen.sh -rep=资源库名称 -user=资源库的用户名 -pass=资源库的密码 -dir=要执行的作业所在资源库的目录(/ETL/) -job=执行作业的名称(不用带后缀) -level=basic>/home/kettle/log/JOB.log 2>&1 &
exit
-rep:资源库名称,P6标准版的为pdev_kettle,改为现场的即可,对应的是上述Linux配置的kettle资源库 -user:资源库的用户名 -pass:资源库的密码 -dir:要执行的作业所在资源库的目录 -file:执行作业的名称(不用带后缀) -Level:日志级别及日志目录输出,输出到刚才新建的log目录下
编辑完成后,设置该文件权限为777【chmod 777 job.sh】,并执行【sh job.sh】编译该sh文件
执行新建的采集调度文件
通过【./job.sh】命令执行采集调度文件 通过【ps -ef|grep kettle】命令查看正在进行的调度任务 通过【kill -9 进程号】结束调度任务
查看日志
进入刚才新建的log目录下,可查看对应的作业日志
|