Linux上部署kettle及定时执行

一、CentOs7.2安装jdk

1、卸载系统自带的openjdk

因centos安装完之后,系统一般自带有open jdk ,所以,首先需要查看当前系统是否有自带的open jdk,如果有,需要先卸载原有的open jdk。

1)查看jdk版本信息 java -version

2)查看jdk对应的java相关文件 rpm -qa | grep java

3)删除相关文件:rpm -e --nodeps

rpm -e --nodeps java-1.7.0-openjdk-1.7.0.111-2.6.7.8.el7.x86_64

rpm -e --nodeps java-1.8.0-openjdk-1.8.0.102-4.b14.el7.x86_64

rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64

rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.8.el7.x86_64

4)再次查看相关Java文件信息,下列信息可以保留不删除

5)再次查看Java版本信息

说明,当前系统已卸载已有的jdk

2、下载jdk

1)最新版本下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html

2)历史版本的下载地址:https://www.oracle.com/technetwork/java/javase/archive-139210.html

3、拷贝下载的jdk到服务器上并解压

1)先从本地拷贝文件到目标服务器上

2)解压jdk的压缩文件到目标目录下,如下所示:

 

4、配置环境变量

1)打开profile文件,vim /etc/profile

2)在文件底部添加

export JAVA_HOME=/opt/java/jdk1.8.0_131

export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar

export PATH=$PATH:${JAVA_HOME}/bin

 

3)输入source /etc/profile,使得环境变量生效

5、检测是否配置成功

Java- version

 

至此,配置成功

二、Centos7下ETL工具之kettle安装

1.安装包下载

https://sourceforge.net/projects/pentaho/files/latest/download?source=files

2、下载后为zip文件:pdi-ce-7.1.0.0-12.zip,利用命令解压 :

unzip pdi-ce-7.1.0.0-12.zip

(若提示未找到命令,yum安装zip: yum install -y unzip zip)

3、解压后,得到新文件夹:data-integration,为Kettle的安装和执行目录

4、进入 data-integration文件夹,执行权限命令 chmod +x *.sh

5、在 data-integration文件夹下,执行./kitchen.sh 如果出现帮助信息表示部署成功。

6、可能出现的警告:

 

直接yum install webkitgtk 安装,会报错提示:No package webkitgtk available,需要先进行如下操作:

1)下载最新的nux-dextop-release rpm包,下载地址(http://li.nux.ro/download/nux/dextop/el7/x86_64/)或下载地址2(https://download.csdn.net/download/u012475575/10691618)

2)将对应资源上传服务器,资源所在目录下执行:rpm -Uvh nux-dextop-release-0-5.el7.nux.noarch.rpm,

(运行上述命令需先安装epel,命令为:yum -y install epel-release )

3)安装webkitgtk rpm包 ,执行 :yum install webkitgtk,安装成功后,再执行./kitchen.sh,警告消失。

7、可能遇到的报错

该报错可以通过yum -y install redhat-lsb 来解决。

 三、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执行权限。

#!/bin/bash

cd /home/kettle/data-integration

export JAVA_HOME=/usr/java/jdk1.8.0_162

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

./kitchen.sh-file=/home/kettle/kettle_file/job/testdemo.kjb/level:Basic >>/home/kettle/kettle_file/kettle_log/ts_$(date +%Y%m%d).log &

./kitchen.sh-file=/home/kettle/kettle_file/job/testdemo2.kjb/level:Basic >>/home/kettle/kettle_file/kettle_log/ts_$(date +%Y%m%d).log &

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

最后,使用crontab命令添加定时任务
1.在终端上,键入“crontab -e”,进入定时任务文件
2.键入“a”,对文件进行编辑
          输入如下内容: 

23 11 10 02 * /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!

 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在CentOS上部署Kettle 7.0,首先需要确保你的系统环境和Kettle版本符合要求。然后,你需要安装相应的依赖包和配置环境变量。 以下是部署Kettle 7.0的步骤: 1. 确认Linux环境和Kettle版本符合要求。 2. 如果在安装过程中遇到错误提示,比如缺少libwebkitgtk-1.0包,可以根据不同的Linux发行版采取不同的解决方案。 - 对于CentOS,可以使用yum命令安装相应的包。你可以参考中的CentOS安装方法,通过yum命令安装libwebkitgtk-1.0-0包。 - 对于Ubuntu,可以直接执行apt-get install libwebkitgtk-1.0-0命令安装该包。 3. 确认系统的发行版本,可以使用lsb_release -a命令查看。 4. 如果遇到其他依赖问题,你可以尝试安装相应的依赖包。例如,你可以执行yum install -y webkitgtk-2.4.9-3.el7.nux.x86_64.rpm命令来安装依赖包。 5. 配置Java环境变量,确保JAVA_HOME、JRE_HOME、CLASSPATH和PATH等环境变量正确设置。你可以根据你的Java安装路径修改对应的环境变量。例如,使用export命令设置环境变量。 6. 最后,你可以使用nohup命令启动Kettle。例如,可以使用以下命令启动Kettle并将日志输出到指定的文件中: ``` nohup /root/software/kettle/pdi-ce-7.0.0.0-25/data-integration/pan.sh -file /root/software/kettle/pdi-ce-7.0.0.0-25/data-integration/workspace/test.ktr >> /root/software/kettle/pdi-ce-7.0.0.0-25/data-integration/workspace/kettle_log/test_y_.log 2>> /root/software/kettle/pdi-ce-7.0.0.0-25/data-integration/workspace/kettle_log/test_n_.log & ``` 注意,你需要根据实际情况修改上述命令中的路径和文件名,并确保你对脚本赋予了执行权限。 这样,你就可以在CentOS上成功部署Kettle 7.0。希望对你有帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值