ubuntu22安装和部署Kettle8.2

前提

kettle是纯java编写的etl开源工具,目前kettle7和kettle8都需要java8或者以上才能正常运行。所以运行kettle前先检查java环境是否正确配置,java版本是否是8或者以上。
在这里插入图片描述

kettle安装

1、创建kettle目录,并将kettle的zip包解压到kettle目录下

在这里插入图片描述

sudo unzip pdi-ce-8.2.0.0-342.zip

在这里插入图片描述

mv data-integration/ ./kettle/
在这里插入图片描述

2、查看以下sh文件使用都有执行的权限,如果没有请加上

在这里插入图片描述

3、执行kitchen.sh脚本

在这里插入图片描述

执行后如果出现warning,根据提示安装即可,不然可能导致部分特性无法使用(主要是spoon的使用,如果是无界面环境,可以忽略)

以下是包warning需要安装libwebkitgtk-1.0-0的详细处理步骤

vim /etc/apt/sources.list

在文件的末尾添加;

deb http://cz.archive.ubuntu.com/ubuntu bionic main universe

执行

sudo apt-get update

在Ubuntu更新源是,提示"没有数字签名。无法安全地用该源进行更新,所以默认禁用该源",主要原因是由于apt-get update没有公钥,无法验证下列签名。

在这里插入图片描述
处理方法

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32

3B4FE6ACC0B21F32是缺少的密钥,缺少什么就下什么

执行安装

sudo apt-get install libwebkitgtk-1.0-0

有点慢耐心等待。。。

重新执行kitchen.sh脚本
在这里插入图片描述
安装好以后,warngin就没有了。出现以下的提示界面说明kettle可以正常使用了。

同时home目录下应该会有一个.kettle的目录。
在这里插入图片描述

./spoon.sh

kettle转换与作业执行

在kettle中pan和kitchen两个工具分别用来执行transformation
(转换)和job(作业),如下所示
在这里插入图片描述
对于文件存储,不是数据库资源库,可以如下的方式存放文件:
所有的transformation文件存放在/srv/kettle/transfomation/
所有的job文件存放在/srv/kettle/jobs
所有的日志文件存放在/var/kettle/logs

1、使用pan执行transformation

pan语法

./pan.sh -option=value arg1 arg2

eg:

sudo ./pan.sh -file=/srv/kettle/transformation/EtltestTrans.ktr -level=Detailed > /var/kettle/log/EtltensTrans.log &

2、使用kitchen执行job

kitchen语法

./kitchen.sh -option=value arg1 arg2

eg

sudo ./kitchen.sh -file=/srv/kettle/jobs/EtltesJob.kjb -level=Detailed > /var/kettle/logs/EtltestJob.log &

常用参数列表:
在这里插入图片描述

kettle服务器端部署

1、通过Start组件定时执行任务

在kettle中我们可以通过start组件来设置定时任务,如下所示,这种方式不推荐使用,因为该job会一直占有一个进程,容易内存溢出。
在这里插入图片描述

2、通过crontab执行kettle任务

在linux中crontab是用来提交和管理用户周期性执行的任务。
例如(文件存储位置):
所有的transformation文件存放在/srv/kettle/transformtions/
所有的job文件存放在/srv/kettle/jobs/
所有的日志文件存放在/var/kettle/logs/
所有的执行脚本存放在/srv/kettle/script/

1)首先我们创建一个脚本。因为是crontab执行任务,我们需要重新配置导入java配置。

export JRE_HOME=/opt/java/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin#cd workspace
cd /opt/kettle/data-integration/# exec job
./kitchen.sh -file=/srv/kettle/jobs/EtltestJob.kjb -level=Detailed > /var/kettle/logs/EtltestJob.log 

2)在终端上,键入“contab -e” ,进入定时任务文件,添加任务。

# m h  dom mon dow command
0 2 * * * /srv/kettle/script

3)重启cron并查看任务

在这里插入图片描述

3、kettle通过carte远程调度

kettle的部署有很多种模式,上面讲的是最原生的模式(pan/kitchen)。但是这种方式不利于监控、调度和资源分配。kettle本身提供了一个用于调度的web服务carte。carte允许远程请求http进行监控、启动、停止在carte服务上运行的job和trans。要部署使用carte的大致过程如下所示:

1)修改xml配置文件

在这里插入图片描述

vim carte-config-master-8080.xml
在这里插入图片描述
在kettle.pwd的描述中可以知道默认的用户名密码都是cluster(不放心的话可以通过和节点设置用户名密码),如果要修改密码可以在配置文件中配置

在这里插入图片描述

2)启动carte

启动时将刚刚的配置文件加上

nohub ./carte.sh pwd/carte-config-master-8080.xml &

启动完成后就可以访问carte了,界面非常的简陋。

3)配置子服务器

上面是成功的将carte服务打开,下面就需要将spoon连接到carte。在左侧的树中我们需要添加一个子服务器。如下所示:

在这里插入图片描述

4)创建一个新的运行配置,setting选择slave server

在这里插入图片描述

5)提交任务

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/87359.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL - 表空间碎片整理方法

MySQL数据库中的表在进行了多次delete、update和insert后,表空间会出现碎片。定期进行表空间整理,消除碎片可以提高访问表空间的性能。 检查表空间碎片 下面这个实验用于验证进行表空间整理后对性能的影响,首先检查这个有100万记录表的大小&…

【业务功能篇86】微服务-springcloud-系统性能压力测试-jmeter-性能优化-JVM参数调优

系统性能压力测试 一、压力测试 压力测试是给软件不断加压,强制其在极限的情况下运行,观察它可以运行到何种程度,从而发现性能缺陷,是通过搭建与实际环境相似的测试环境,通过测试程序在同一时间内或某一段时间内&…

【最强最全】视频号下载助手(支持视频号视频, 直播,回放下载)

视频号下载助手支持视频号视频, 直播,回放的下载,本工具基于秦天sunny中间件编写,无需再使用其它抓包软件,无需再使用其它下载软件。 当然,你也可以右键复制抓取后的视频源再用其它下载软件下载。 使用说明 解压文件,…

Matlab(结构化程式和自定义函数)

目录 1.脚本编辑器 2.脚本流 2.1 控制流 2.2 关系(逻辑)操作符 3.脚本与函数 1.脚本编辑器 Matlab的命名规则: 常用功能: 智能缩进: 在写代码的时候,有的时候代码看起来并不是那么美观(可读性…

华为云Stack的学习(二)

三、华为云Stack产品组件 FunsionSphere CPS 提供云平台的基础管理和业务资源(包括计算资源和存储资源)。采用物理服务器方式部署在管理节点。可以做集群的配置,扩容和运维管理。 Service OM 提供云服务的运维能力,采用虚拟化方…

【数据结构大全】你想要的都有,数组、链表、堆栈、二叉树、红黑树、B树、图......

目录 1.概述 2.线性结构 3.时间复杂度 4.查找算法 5.树 6.图 1.概述 博主之前写过一个完整的关于数据结构的系列文章,一共十三篇,内容包含,数组、链表、堆栈、队列、时间复杂度、顺序查找、二分查找、二叉树、二叉搜索树、平衡二叉树、…

LeetCode-406-根据身高重建队列

题目描述: 假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。 请你重新构造…

设计模式(一)

1、适配器模式 (1)概述 适配器中有一个适配器包装类Adapter,其包装的对象为适配者Adaptee,适配器作用就是将客户端请求转化为调用适配者中的接口;当调用适配器中的方法时,适配器内部会调用适配者类的方法…

Node与Express后端架构:高性能的Web应用服务

在现代Web应用开发中,后端架构的性能和可扩展性至关重要。Node.js作为一个基于事件驱动、非阻塞I/O的平台,以及Express作为一个流行的Node.js框架,共同构建了高性能的Web应用服务。 在本文中,我们将深入探讨Node与Express后端架构…

Vue脚手架中安装ElementUi

目录 ElementUi简介: ElementUi下载: npm 安装: 引入ElementUi: 测试是否引入成功: Element-ui官网:组件 | Element ElementUi简介: ElementUi,是由国内的饿了么团队开发并开源的一套为开…

SpringBootWeb案例 Part3

目录 1. 新增员工 1.1 需求 1.2 接口文档 1.3 思路分析 PostMapping RequestBody //把前端传递的JSON数据填充到实体类中 1.4 功能开发 1.5 功能测试 1.6 前后端联调 2. 文件上传 2.1 文件上传简介 Spring中提供了一个API:MultipartFile,使…

设计模式——装饰器模式

装饰器模式 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。 装饰器模式通过将对象包装在装饰器类中,以便动态…