【kettle】kettle调度方式

5 篇文章 0 订阅
2 篇文章 0 订阅

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】

执行新建的采集调度文件

通过【./job.sh】命令执行采集调度文件
通过【ps -ef|grep kettle】命令查看正在进行的调度任务
通过【kill -9 进程号】结束调度任务

查看日志

进入刚才新建的log目录下,可查看对应的作业日志

  • 0
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
kettle作业可以通过两种常用的定时调度方法来实现。一种方法是通过编写脚本,并使用定时任务来触发作业的执行。这种方法可以并发执行同一个或多个作业,运行稳定,抗干扰能力强。然而,它可能会占用太多的kettle缓存,导致作业运行失败的问题。所以在不考虑小问题的情况下,推荐使用这种方式。\[2\] 另一种方法是使用kettle自带的作业调度功能。通过设置定时脚本,可以方便地实现kettle作业的定时调度。在这种方法中,你需要确保已经搭建好了kettle环境和SQL Server环境。一旦准备就绪,你可以直接进入设置定时脚本的步骤,从而实现kettle作业的定时调度。\[3\] #### 引用[.reference_title] - *1* *2* [kettle开发篇-作业调度-Day8](https://blog.csdn.net/qq_29061315/article/details/129401261)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Kettle定时任务调度](https://blog.csdn.net/nanyangnongye/article/details/122042744)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值