ubuntu22安装和部署Kettle8.2

news2024/11/25 21:46:08

前提

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.coloradmin.cn/o/941218.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux 系统运维工具之 OpenLMI

一、前要 OpenLMI(全称 Open Linux Management Infrastructure)即开放式的 Linux 管理基础架构。OpenLMI 是一个开源项目,用于管理 Linux 系统管理的通用基础架构。它建立在现有工具基础上,充当抽象层,以便向系统管理…

CTF-XXE(持续更新,欢迎分享更多相关知识点的题目)

知识 实例 BUU [PHP]XXE 进来看到 然后一起看 Write BUU XXE COURSE 1 进来看到 一起看 write NSS [NCTF2019]Fake XML cookbook 反正是XXE 直接整 write [NCTF 2019]True XML cookbook 不整花里胡哨,解题在最下面 write 与博主不同,我通过…

【C++多线程】C++11互斥锁和条件变量实现生产者消费者模型

先看几个问题,第三个问题可以先看代码然后再理解 Q1:临界区在哪 A1: 队列中元素在「生产者生产(push)」和「消费者消费(pop)」时就是临界区 Q2:同步操作在哪 A2: 很显然,队列只有…

在kaggle中用GPU使用CGAN生成指定mnist手写数字

文章目录 1项目介绍2参考文章3代码的实现过程及对代码的详细解析独热编码定义生成器定义判别器打印我们的引导信息模型训练迭代过程中生成的图片损失函数的变化 4总结5 模型相关的文件 1项目介绍 在GAN的基础上进行有条件的引导生成图片cgan 2参考文章 GAN实战之Pytorch 使用…

android framework之Applicataion启动流程分析

Application启动流程分析 启动方式一:通过Launcher启动app 启动方式二:在某一个app里启动第二个app的Activity. 以上两种方式均可触发app进程的启动。但无论哪种方式,最终通过通过调用AMS的startActivity()来启动application的。 根据上图…

家政服务行业搭建小程序的实用技巧分享

随着移动互联网的发展,小程序成为了各行各业的新宠。对于家政服务行业来说,搭建一个小程序商城可以极大地提升服务的便捷性和用户体验,同时也能提高企业的竞争力。本文将分享家政服务行业搭建小程序的实用技巧,帮助您顺利创建属于…

利用深度蛋白质序列嵌入方法通过 Siamese neural network 对 virus-host PPIs 进行精准预测【Patterns,2022】

研究背景: 病毒感染可以导致多种组织特异性损伤,所以 virus-host PPIs 的预测有助于新的治疗方法的研究;目前已有的一些 virus-host PPIs 鉴定或预测方法效果有限(传统实验方法费时费力、计算方法要么基于蛋白结构或基因&#xff…

SAP-FI-会计凭字段替代OBBH

会计凭证替代OBBH 业务:文本必须等于某个字段的值,例如凭证日期 关闭确认功能,输入OBBH 双击“替代”进入功能配置,或者用GGB1,用GGB1的功能更多。 点击行项目,点击“新建替换”保存 点击新建YXL7331,点击…

删除命名空间一直处于Terminating

删除命名空间一直处于Terminating 通常删除命名空间或者其他资源一直处于Terminating状态,是由于资源调度到的节点处于NotReady状态,需要将节点重新加入到集群使其状态变为Ready状态才能解决问题,当node重新加入处于Ready状态后,…

系统报错msvcr120.dll丢失一键修复教程,快速修复dll报错问题

今天,我将和大家探讨一个常见的问题:系统报错msvcr120.dll丢失。这个问题相信很多网友都遇到过,尤其是在使用一些较老的软件或者游戏时,很容易出现这个错误。那么,如何解决这个问题呢?下面,我将…

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

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

在线查询让家长迅速获得录取通知书

发布录取通知书是一项看似简单却非常耗时费力的工作。负责录取工作的老师通常会采取以下常见的发放方式: 1. 面试告知:某些学校会在面试结束后立即告知学生是否被录取。这种方式通常适用于面试人数较少的学校或特定专业。 2. 电子邮件:学校通…

pytorch中torch.gather()简单理解

1.作用 从输入张量中按照指定维度进行索引采集操作,返回值是一个新的张量,形状与 index 张量相同,根据指定的索引从输入张量中采集对应的元素。 2.问题 该函数的主要问题主要在dim维度上,dim0 表示沿着第一个维度(行…

P21~22 第六章 储能元件——电容存储电场能,电感存储磁场能

1、电容元件 a定义 b线性时不变电容元件 c电容的电压与电流关系 i有限则u有限 注意理解面积 d电容的功率和储能 e例一 跃变就是指物体的物理量从有限值变为无限值的过程。 分析上图例题:对于电源波形要吃负无穷到正无穷去刻画。即时间轴要铺满。 有有图控制电…

Mysql001:Mysql概述以及安装

前言:本课程将从头学习Mysql,以我的工作经验来说,sql语句真的太重要的,现在互联网所有的一切都是建立在数据上,因为互联网的兴起,现在的数据日月增多,每年都以翻倍的形式增长,对于数…

服务器数据库中了locked勒索病毒怎么办,locked勒索病毒恢复工具

最近一段时间网络上的locked勒索病毒非常嚣张,自从6月份以来,很多企业的计算机服务器数据库遭到了locked勒索病毒的攻击,起初locked勒索病毒攻击用友畅捷通T用户,后来七月份开始攻击金蝶云星空客户,导致企业的财务系统…

【数学建模】清风数模正课4 拟合算法

拟合算法 在插值算法中,我们得到的曲线一定是要经过所有的函数点的;而用拟合所得到的曲线则不一样,拟合问题中,不需要得到的曲线一定经过给定的点。 拟合的目的是寻求一个函数曲线,使得该曲线在某种准则下与所有的数…

AcWing 898. 数字三角形 (每日一题)

大家好 我是寸铁 希望这篇题解对你有用,麻烦动动手指点个赞或关注,感谢您的关注 注意 像数组下标出现i-1的,在循环的时候从i1开始。 关于0x3f3f3f3f和Integer.MAX_VALUE 0x3f3f3f3f:1061109567 Integer.MAX_VALUE:2147483647 在选用Integ…

云计算在大数据分析中的应用与优势

文章目录 云计算在大数据分析中的应用云计算在大数据分析中的优势云计算在大数据分析中的示例未来发展和拓展结论 🎉欢迎来到AIGC人工智能专栏~云计算在大数据分析中的应用与优势 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒🍹✨博客主页:IT陈寒的博客&…