一.安装Kettle
linux中使用kettle时首先需要jdk环境,这里就不概述linux中jdk的安装与配置了。
1.首先将kettle压缩包放入linux并解压
unzip data-integration.zip
![1693988386619](https://img-blog.csdnimg.cn/img_convert/746b055ab5ccd500780e803c6347900b.png)
kettle安装路径为:/root/Kettle9.3/data-integration
设置权限
chmod -R 755 /root/Kettle9.3/data-integration
2.执行命令查看kitchen版本
linux中执行作业时使用kitchen;执行转换使用pan
出现以下界面则表示安装成功
![1693988596739](https://img-blog.csdnimg.cn/img_convert/ec58d2523cd9119c4d8d7f293493adb4.png)
3.配置资源库
kettle在linux中会存在一个隐藏文件夹其中存放了一些配置文件。
cd ~
查看隐藏文件,会看到一个.kettle文件夹
ls -a
![image-20230906162625372](https://img-blog.csdnimg.cn/img_convert/709b001e6c0770bd425c9e8a39393402.png)
![1693988831257](https://img-blog.csdnimg.cn/img_convert/01c343f30e50c0753f929e6cd419f7b8.png)
其中repositories.xml即为资源库配置文件。当你linux文件夹中不存在以上图片中的文件时。
便需要在windows中的C:\Users\电脑用户名称\.kettle 中将文件复制到linux即可。
repositories.xml配置如下所示:
![1693988996558](https://img-blog.csdnimg.cn/img_convert/29493f2d0414d6eb2d3ae2ad41573aa9.png)
<?xml version="1.0" encoding="UTF-8"?>
<repositories>
<repository>
<id>KettleFileRepository</id>
<name>YNSOURCE</name>
<description>File repository</description>
<is_default>true</is_default>
<base_directory>/root/Kettle9.3/kettleData</base_directory>
<read_only>N</read_only>
<hides_hidden_files>N</hides_hidden_files>
</repository>
</repositories>
base_directory:便是本地资源库地址(需要将作业和转换都放置到该目录下)
name:资源库名称(后续在执行作业时需要用到)
二.设置环境变量
设置环境变量: 在/etc/profile文件中添加以下配置:
/root/Kettle9.3/data-integration 为linux中kettle的安装路径,第一步中已表明
export KETTLE=/root/Kettle9.3/data-integration
export PATH=${KETTLE}:$PATH
然后查看设置的环境变量
echo $PATH
保存设置
source /etc/profile
三.执行作业
需要先创建一个作业并将其放入资源库地址中。(作业中包含的转换等同时放入)
如果存放数据库文件设置的话也需要放入。
执行语句:
./kitchen.sh -rep YNSOURCE -user admin -pass admin -file=/root/Kettle9.3/kettleData/ceshi.kjb
![1693989458684](https://img-blog.csdnimg.cn/img_convert/ae3ded1ce3194da463dbae9f68ae4d40.png)
YNSOURCE:资源库名称
-user admin -pass admin:资源库的账号密码,未设置便使用该语句即可(默认账号密码)
/root/Kettle9.3/kettleData/ceshi.kjb:作业地址
回车执行即可。
当出现ERROR: Kitchen can't continue because the job couldn't be loaded.报错时不用理会等待继续执行即可。
![image-20230906163918974](https://img-blog.csdnimg.cn/img_convert/7b820011612137dc43f970410d36bd89.png)
四.设置定时任务
采用了crontab来进行定时任务的设置。
因此需要编写一个执行kettle作业的脚本
1.创建脚本
vim run_kettle_job.sh
2.编写脚本内容
#!/bin/bash
cd /root/Kettle9.3/data-integration
./kitchen.sh -rep YNSOURCE -user admin -pass admin -file=/root/Kettle9.3/kettleData/ceshi.kjb
3.设置权限
chmod -R 755 run_kettle_job.sh
4.打开crontab
crontab -e
5.设置定时任务
0 * * * * bash /root/Kettle9.3/run_kettle_job.sh
![ae343cd5b2ea63effe5ed63a7f43bd3](https://img-blog.csdnimg.cn/img_convert/ee33a64183f6d5f12ce5361f7c584a3f.png)
6.查看定时任务
crontab -l