当前位置:首页 » 操作系统 » kettleforlinux

kettleforlinux

发布时间: 2023-07-22 07:16:06

linux上使用crond定时执行kettle的job怎么解决

linux上使用crond定时执行kettle的job的解决方法:


一、部署kettle


1. 将pdi-ce-4.1.0-stable.zip上传到Linux服务器。

2. 使用unzip命令解压pdi-ce-4.1.0-stable.zip
unzip pdi-ce-4.1.0-stable.zip -d "/mnt/kettle"

3. 赋予解压目录下.sh文件的执行权力chmod +x *.sh

4.进入解压目录,键入“./kitchen.sh”回车,如果有帮助信息则表示kettle环境部署成功。


二、接着,编写执行kettle任务的shell脚本


创建test.sh,将以下内容复制粘贴到里面,然后入“chmod+x/mnt/kettle/*.sh”,赋予test.sh执行权限。

exportjava_HOME=/usr/java/jre1.6.0_23
exportPATH=$JAVA_HOME/bin:$PATH
exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
/mnt/kettle/data-integration/kitchen.sh-file=/mnt/kettle/test.kjb>/mnt/kettle/display.txt

说明:
前3行,设置Java环境变量的语句必不可少,因为crond是个守护进程,它不归属于任何用户,虽然之前以root身份配置了java的环境变量,但是crond一样找不到java命令,所以,当crond执行kettle任务时,需要动态设置java环境变量,crond才能找到java命令。


三、最后,使用crontab命令添加定时任务

1.在终端上,键入“crontab -e”,进入定时任务文件。
2.键入“a”,对文件进行编辑。
输入如下内容: 23111002*/mnt/kettle/test.sh

其中 23为分钟,11为小时,10为日,02为月,*为星期几,crontab命令的使用这里不再赘述。
3.键盘敲击exc,终端键入“:wq”,保存文件。
4.重启crond服务。
键入“cd /etc/init.d”,进入该目录。
键入“./crond restart”,重启crond服务。
5.等待执行结果。

6.执行成功,oh..nice!

② linux下怎样安装使用kettle

安装JDK环境:根据自己的linux系统选择相应的版本,比如我的centos7是x64的,所以我选择jdk-8u74-linux-x64.tar.gz下载
下载下来以后,我们将其移到我们创建的一个目录中,存放tar包的目录为/usr/local/src/jdk,然后解压:
tar -zxf /usr/local/src/jdk/jdk-7u65-linux-x64.tar.gz
编辑 vi /etc/profile 文件
在文件后面添加:
export JAVA_HOME=/usr/local/src/jdk/jdk1.8.0_74
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:$CLASSPATH:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
执行 . /etc/profile
配置成功后,关闭终端,重新进入,输入java –version 如果出现版本号什么的,就证明jdk安装成功
1. 将data-integration文件夹直接拷贝到/usr/local/kettle文件夹下面
cd /usr/local/kettle/data-integration 进入该目录
为所有.sh文件赋予执行权限
chmod +x *.sh
然后在终端键入./kitchen.sh 如果出现帮助信息,说明kettle安装成功
./kitchen.sh -----运行job
./span.sh -----运行转换
1. 在kettle下建立data 文件夹,用来存放转换和job文件
建立ktllog 文件夹,用来存放日志文件
建立ktlsh 文件夹,用来存放脚本文件
1. 在ktlsh文件夹中新建执行job的文件,
新建文件命令: touch xxx.sh
并赋予文件执行权游脊限
chmod +x xxx.sh

编辑xxx.sh文件
Vi xxx.sh
输入 :
#!/bin/sh
source /etc/profile 配置环境变量(使用crontab时候,由于crontab不识别系统的环境变量,所以需要我们这边再配置一遍)

ROOT_TOPDIR=/usr/local/kettle
Export ROOT_TOPDIR --设置kettle目录
$ROOT_TOPDIR/data-integration/kitchen.sh –file=需要执行的job的文件(绝对路径)

保存!
可在ktlsh目录下直接执行./塌态xxx.sh 文件运行
1. 配置crontab 定期执行作业或者转换
基本格式 :
*****command
分时日月周命令
第1列表示分钟1~59 每分钟用*或者 */1表示 第2列表示小时1~23(0表示0点) 第3列表示日期1~31 第4列表示月份1~12 第5列标识号星期0~6(0表示星期天) 第6列要运行的命令
在crontab中配置自动每天12点30分执行xxx.sh文件
编辑crontab : crontab –e
增加一行
30 12 * * * /usr/loca/kettle/ktlsh/xxx.sh

如果要输出日志可
30 12 * * * /usr/loca/kettle/ktlsh/xxx.sh >> /usr/local/kettle/ktllog/log01
如果ktllog下面不存在log01文件会自动创建
配置完后神衫渗重启crontab服务:
Service crond restart
查看crontab服务
Service crond status
查看crontab中的内容
Crontab –1

热点内容
rsa加密c源代码 发布:2025-03-15 19:53:55 浏览:692
linux解压bin 发布:2025-03-15 19:40:25 浏览:383
存储数据为什么只能使用两种状态 发布:2025-03-15 19:40:21 浏览:263
平方的运算法则 发布:2025-03-15 19:38:57 浏览:970
江苏省苏州市社保卡初始登录密码是多少 发布:2025-03-15 19:38:55 浏览:515
安卓主板哪里有卖 发布:2025-03-15 19:26:10 浏览:31
Q9源码 发布:2025-03-15 19:24:21 浏览:177
芬兰编程教育 发布:2025-03-15 18:59:46 浏览:427
因特网的服务器地址 发布:2025-03-15 18:53:01 浏览:893
手机实体店什么配置好 发布:2025-03-15 18:32:35 浏览:170