Linux下部署kettle并配置定时调度

这篇具有很好参考价值的文章主要介绍了Linux下部署kettle并配置定时调度。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Linux下部署kettle并配置定时调度

1、安装JAVA

(1) 查看原系统版本,从图中可以看出JDK版本为openJDK需要卸载,如果没有安装跳过即可

java -version

kettle linux,etl,linux

(2) 查看安装信息

rpm -qa | grep java

kettle linux,etl,linux

(3) 卸载OPENJDK

rpm -e --nodeps java-1.7.0-openjdk-1.7.0.191-2.6.15.5.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.191-2.6.15.5.el7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.181-7.b13.el7.x86_64
rpm -e --nodeps python-javapackages-3.4.1-11.el7.noarch
rpm -e --nodeps tzdata-java-2018e-3.el7.noarch
rpm -e --nodeps javapackages-tools-3.4.1-11.el7.noarch
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64

(4) 下载对应的JDK版本

这里我使用的kettle是9.1的,jdk-8u371-linux-x64.tar测试可用

tar -zxvf jdk-8u371-linux-x64.tar.gz

(5) 配置环境变量

vim /etc/profile

添加如下行:

export JAVA_HOME=/usr/local/jdk1.8.0_371
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH

使环境变量生效

source /etc/profile

(6) 验证JDK是否安装成功

java -version

kettle linux,etl,linux

2、安装kettle

(1) 将安装包pdi-ce-9.1.0.0-324.zip上传至linux服务器,(kettle在windows和linux系统中通用)

(2) 解压

unzip -o -d /kettle/ pdi-ce-9.1.0.0-324.zip

(3) 安装完成

kettle linux,etl,linux

3、同步kettle资源库,及添加jar包

(1) 将Windows用户文件夹下的.kettle文件打包压缩

kettle linux,etl,linux
(2) 将.ketlte文件解压到Linux的root目录下,也就是~下,然后使用 ll -qa可查看

ll -qa 

kettle linux,etl,linux

(3) 将依赖的jar包放在linux 的/kettle/data-integration/lib目录下

Oracle:ojdbc11.jar

Mysql:mysql-connector-java-8.0.11.jar

另外需要将jar包放在/kettle/data-integration/libswt/linux下
kettle linux,etl,linux
kettle linux,etl,linux

4、测试能否执行任务

./kitchen.sh -rep:xxxxxx -user:xxxxxx -pass:xxxxxx -dir:/xxxxxx -job:xxxxxx
kettle linux,etl,linux

发现有警告,原因是kettle需要图形化的界面来运行,linux是命令行模式,触发警告,消除警告可安装webkitgtk

kettle linux,etl,linux

5、安装webkitgtk

yum install webkitgtk-2.4.9-1.el7.x86_64.rpm

kettle linux,etl,linux

再执行./kitchen.sh,发现警告消除

kettle linux,etl,linux

6、配置调度

通过配置文件,将调度任务与资源库里的文件名称及目录一致

kettle linux,etl,linux
kettle linux,etl,linux
kettle linux,etl,linux

配置文件脚本代码:

#!/bin/bash
#进入kettle目录
cd /opt/kettle/data-integration9.1

#日志路径
logpath=/opt/kettle/joblog/xxxxxxx/

#kitchen任务路径
jobdir=/xxxxxxx/

#根据文件名获得JOB名称
jobname=`echo $0 |cut -d '.' -f 1`

#当前时间、当前小时
nowtime=`date +"%Y/%m/%d %H:%M:%S"`
nowdate=`date +%Y%m%d`
nowmon=`date +%Y%m`
nowhour=`date +%H`

#日志开头
echo "

================================================执行时间:"$(date +%Y%m%d%H%M%S)"=======================================================

" >> ${logpath}${jobname}${nowmon}.log

#上一次任务完成标志
wcbz=`ps -ef |grep kitchen |grep ${jobname} |wc -l`

#上一次未结束则本次不执行
if [ $wcbz -ne 0 ];then
echo ${nowtime}":上一次任务未结束,本次不执行......" >> ${logpath}${jobname}${nowmon}.log
else echo ${nowtime}":上一次任务执行结束,本次开始执行.........">> ${logpath}${jobname}${nowmon}.log
sh kitchen.sh -rep:xxxxxxx -user:xxxxxxx -pass:xxxxxxx -dir:${jobdir} -job:${jobname} >> ${logpath}${jobname}${nowmon}.log 2>&1
fi
echo "本次JOB执行任务已结束!" >> ${logpath}${jobname}${nowmon}.log

通过crontab定时调度如下脚本,例如:onedayjob.sh

kettle linux,etl,linux

crontab  -e 

i进入编辑模式

kettle linux,etl,linux
kettle linux,etl,linux文章来源地址https://www.toymoban.com/news/detail-725126.html

到了这里,关于Linux下部署kettle并配置定时调度的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux 定时任务调度(crontab)

    Crontab命令用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。 可以使用Crontab定时处理离线任务,比如每天凌晨2点更新数据等,经常用于系统任务调度。 一般Linux系统中都会装有Crontab,如果没有安装可以使

    2024年02月07日
    浏览(72)
  • 一百六十八、Kettle——用海豚调度器定时调度从Kafka到HDFS的任务脚本(持续更新追踪、持续完善)

    在实际项目中,从Kafka到HDFS的数据是每天自动生成一个文件,按日期区分。而且Kafka在不断生产数据,因此看看kettle是不是需要时刻运行?能不能按照每日自动生成数据文件? 为了测试实际项目中的海豚定时调度从Kafka到HDFS的kettle任务情况,特地提前跑一下海豚定时调度这个

    2024年02月10日
    浏览(43)
  • Linux p15 定时任务调度

    【学习课程】:【【小白入门 通俗易懂】2021韩顺平 一周学会Linux】 https://www.bilibili.com/video/BV1Sv411r7vd/?p=14share_source=copy_webvd_source=2c07d62293f5003c919b2df9b2e0549e crontab 进行定时任务的设置 概述 任务调度:是指系统在某个时间执行的特定的命令或程序。 任务调度分类: 系统工作:

    2024年02月05日
    浏览(39)
  • linux-crontab每分钟定时执行/定时任务调度

    本文讲解linux上如何调用定时任务,如每分钟打印日志,每日24点执行日志切割脚本等等。 在Linux系统中,crontab命令是一个用于执行定时任务的命令, crond(crontab)是系统默认自带的定时服务 。我们可以通过编辑crontab文件来设置定时任务,使系统可以自动按照设定的时间和频率

    2024年02月06日
    浏览(52)
  • 一百五十一、Kettle——Linux上安装的kettle8.2开启carte服务以及配置子服务器

    kettle8.2在Linux上安装好可以启动界面、并且可以连接MySQL、Hive、ClickHouse等数据库后,准备在Linux上启动kettle的carte服务 kettle的Linux运行的carte服务文件是carte.sh 文件路径是/opt/install/data-integration/pwd 1、修改主节点配置文件 [root@hurys22 pwd]# vi  carte-config-master-8080.xml  注意:修改8

    2024年02月13日
    浏览(64)
  • 大数据ETL工具Kettle

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 提示:这里可以添加本文要记录的大概内容: 提示:以下是本篇文章正文内容,下面案例可供参考 ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱

    2024年02月10日
    浏览(46)
  • ETL工具 - Kettle 介绍及基本使用

    在介绍 Kettle 前先了解下什么是 ETL , ETL 是 Extract-Transform-Load 的缩写,即数据 抽取、转换、装载 的过程,对于企业或行业应用来说,经常会遇到各种异构数据的处理、转换、迁移等操作,这些操作有可能会面对大量的数据和繁琐的步骤,因此就萌生了一些 ETL 处理工具,市面

    2024年02月07日
    浏览(60)
  • ETL工具 - Kettle 输入输出算子介绍

    上篇文章对 Kettle 进行了简单的介绍及做了个简单的案例,但是对 Kettle 的 Step 算子工具没有做过多的解释,本篇文章从输入输出算子工具开始进行介绍。 下面是上篇文章的地址: ETL工具 - Kettle 介绍及基本使用 输入是转换里面的第一个分类,用来完成 ETL 中的 E 抽取数据或者

    2024年02月01日
    浏览(87)
  • 大数据 ETL 处理工具之 Kettle

    目录 第1章 Kettle概述 1.1 ETL简介 1.2 Kettle简介 1.2.1 Kettle是什么 1.2.2 Kettle的两种设计 1.2.3 Kettle的核心组件 1.2.4 Kettle特点 第2章 Kettle安装部署 2.1 Kettle下载 2.1.1 下载地址 2.1.2  Kettle目录说明 2.1.3  Kettle文件说明 2.2 Kettle安装部署 2.2.1 概述 2.2.2 安装 2.3 Kettle界面简介 2.3.1 首页 2.

    2024年02月11日
    浏览(41)
  • Springboot整合ETL引擎Kettle的使用

    ETL 是英文Extract-Transform-Load的缩写,用来描述将数据从源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程,它能够对各种分布的、异构的源数据(如关系数据)进行抽取,按照预先设计的规则将不完整数据、重复数据以及错误数据等“脏\\\"数据内容进行清洗,得到符合

    2024年02月14日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包