Kettle — 安装和部署

article/2025/10/13 14:03:33

前提

Kettle是纯Java编写的ETL开源工具,目前Kettle7和Kettle8都需要Java8或者以上才能正常运行。所以开运行Kettle前先检查Java环境是否正确配置,Java版本是否是8或者以上。

Kettle安装

1)创建Kettle的目录,并将Kettle的zip包解压到Kettle目录下

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

4)执行kitchen.sh脚本

3)如果出现以下的错误,这是因为sh文件有可能是在Windows下编写的并打包到Zip包中的,编码格式不一样linux是utf-8,windows是gbk的。我这里提供两种解决方案。

         1.单个文件修改

         利用Vim进行修改,可以使用:set ff查看文件格式;可以使用:set ff=unix修改文件格式。

         2.批量执行

         运行下面的脚本命令即可。创建一个sh文件,将下面的shell代码复制到该文件执行即可。注意路径修改一下。

for file in `ls /opt/kettle/data-integration/*.sh`do                                                                     echo ${file}vim +':w ++ff=unix' +':q' ${file}done

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

5)安装好以后,WARNING就没有了。出现以下的提示界面说明Kettle可以正常使用了。

同时home目录下应该会有一个.kettle的目录

Kettle转换与作业执行

在Kettle中pan和kitchen两个工具分别用来执行transformation(转换)和job(作业),如下所示:

对于文件存储,不是数据库资源库,可以如下的方式存放文件:

所有的transformation文件存放在/srv/kettle/transformations/

所有的job文件存放在/srv/kettle/jobs/

所有的日志文件存放在/var/kettle/logs/

使用pan执行transformation

pan语法:./pan.sh -option=value arg1 arg2

具体使用参考:https://www.cnblogs.com/xiaopan-cp9/p/7608203.html(非常仔细的介绍)

使用kitchen执行job

kitchen语法:./kitchen.sh -option=value arg1 arg2

常用参数列表:

命令

描述

-rep

选择一个资源库的名字

-user

资源库用户名

-pass

资源库密码

-file

job文件路径

-job

资源库中的job名称

-dir

指定资源库目录

-norep

标明不是资源库里的文件

-level

日志级别(Basic, Detailed, Debug, Rowlevel, Error, Nothing)

-logfile

日志输出到指定的文件

-listdir

在使用 -dir 时,打印出资源库目录下所有子目录

-listjob

列出资源库中的所有jobs

-listrep

列出当前所有已经定义的资源库

-export

导出所有的job到一个zip包中

-version

显示版本

-listparam

列出所有的参数

-param

参数设置,例如-param:FOO=bar

-level

log级别 (Basic, Detailed, Debug, Rowlevel, Error, Nothing)

Kettle服务器端部署

通过Start组件定时执行任务

在Kettle中我们可以通过Start组件来设置定时任务,如下所示,这种方式不推荐使用,因为该Job会一直占有一个进程,容易内存溢出。

通过crontab执行Kettle任务

在Linux中crontab是用来提交和管理用户周期性执行的任务。

例如(文件存放位置):

所有的transformation文件存放在/srv/kettle/transformations/

所有的job文件存放在/srv/kettle/jobs/

所有的日志文件存放在/var/kettle/logs/

所有的执行脚本存放在/srv/kettle/script/

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

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

3)重启cron 并查看任务

Kettle通过Carte远程调度

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

1)修改xml配置文件

在kettle.pwd的描述中可以知道默认的用户名密码都是cluster(不放心的话可以通过<username>和<password>节点设置用户名密码),如果要修改密码可以在配置文件中配置。

2)启动Carte

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

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

PDI Status应该可以理解,下面的Configuration details上面三条代表日志最大长度、日志存活时间和指定转换或者作业产生的对象的存活时间,这三个属性都是为了防止Out Of Memory。在上面的配置文件中的配置如下所示:

最后一个参数是资源库名称。

3)配置子服务器

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

4)创建一个新的运行配置,setting选择Slave Server。

5)提交任务

运行时选择刚刚配置的Carte执行。这样我们执行文件就会上传到Carte服务器指定的目录然后执行。

然后在PDI Status界面就能看到执行的任务。点击进行可以看到详细的任务详情。


http://chatgpt.dhexx.cn/article/L7GCbUx8.shtml

相关文章

kettle实战教程-纯实战开发

kettle实战教程-纯实战开发 欢迎关注笔者的公众号: java大师, 每日推送java、kettle运维等领域干货文章&#xff0c;关注即免费无套路附送 100G 海量学习、面试资源哟&#xff01;&#xff01;个人网站: http://www.javaman.cn/kettle/kettle-actual Kettle简介&#xff1a;Ket…

Kettle安装及配置

安装环境说明 jdk 采用 jdk-8u102-windows-x64 kettle采用kettle 8.2 文末&#xff0c;博主会将kettle下载地址附上&#xff0c;还包含其他版本&#xff08;作为本专栏开博小福利&#xff09;。kettle9.0版本以下&#xff0c;本教程都适用&#xff0c;kettle9.0及更新的其他版本…

Kettle的安装和使用

Kettle简介 Kettle是一款国外开源的ETL工具&#xff0c;纯java编写&#xff0c;可以在Window、Linux、Unix上运行&#xff0c;数据抽取高效稳定。 Kettle是“Kettle E.T.T.L. Envirnonment“只取首字母的缩写&#xff0c;这意味着它被设计用来帮助你实现你的 ETTL 需要&#…

Kettle 使用详解

第0章 ETL简介 ETL (Extract-Transform-Load 的缩写&#xff0c;即数据抽取、转换、装载的过程)&#xff0c;对于企业或行业应用来说&#xff0c;我们经常会遇到各种数据的处理&#xff0c;转换&#xff0c;迁移&#xff0c;所以了解并掌握一种ETL工具的使用&#xff0c;必不可…

Kettle基础操作

目录 Kettle基础操作 1 启动Kettle 2 创建本地资源库 3 基础操作 3.1 新建转换 3.2 新建作业 3.3 节点连接 4 导入/导出资源库 5 创建数据库连链接 Kettle基础操作 1 启动Kettle 前置环境&#xff1a;JDK 1.7以上、IE浏览器升级至IE10以上&#xff08;Kettle7.0以下…

kettle(一)kettle介绍

kettle介绍及组成 一、kettle 是什么 kettle 是一个ETL工具&#xff0c;ETL&#xff08;Extract-Transform-Load&#xff0c;数据抽取、转换、装载&#xff09;&#xff1b; kettle 是java编写&#xff0c;绿色无需安装&#xff0c;抽取高效稳定&#xff1b; kettle 主要用来…

Kettle下载与安装教程【保姆版】

Kettle简介 Kettle最早是一个开源的ETL&#xff08;Extract-Transform-Load的缩写&#xff09;工具&#xff0c;全称为KDE Extraction, Transportation, Transformation and Loading Environment。后来Kettle重命名为Pentaho Data Integration 。它由Java开发&#xff0c;支持…

kettle基础教程-kettle9教程

kettle是啥&#xff1f; 一款免费开源的、功能强大的ETL工具&#xff0c;纯 java 开发。可以在 Linux、windows、unix 中运行。有图形界面&#xff0c;也有命令脚本还可以二次开发。 一.安装部署 1.JDK1.8安装及环境变量的配置 https://blog.csdn.net/weixin_39549656/artic…

kettle 简介及入门

介绍 kettle 是纯 java 开发&#xff0c;开源的 ETL工具&#xff0c;用于数据库间的数据迁移 。可以在 Linux、windows、unix 中运行。有图形界面&#xff0c;也有命令脚本还可以二次开发。 kettle 的官网是 https://community.hitachivantara.com/docs/DOC-1009855&#xff…

kettle 使用教程(入门)

文章目录 前言一、下载、安装二、启动软件三、转换的使用教程四、作业的使用教程总结 前言 Kettle简介&#xff1a;Kettle是一款国外开源的ETL工具&#xff0c;纯java编写&#xff0c;可以在Window、Linux、Unix上运行&#xff0c;数据抽取高效稳定。Kettle 中文名称叫水壶&…

kettle 教程(一):简介及入门

介绍 kettle 是纯 java 开发&#xff0c;开源的 ETL工具&#xff0c;用于数据库间的数据迁移 。可以在 Linux、windows、unix 中运行。有图形界面&#xff0c;也有命令脚本还可以二次开发。 kettle 的官网是 https://community.hitachivantara.com/docs/DOC-1009855&#xff0…

kettle入门教程

Kettle是一款国外开源的ETL工具&#xff0c;纯java编写&#xff0c;可以在Window、Linux、Unix上运行&#xff0c;数据抽取高效稳定。Kettle 中文名称叫水壶&#xff0c;该项目的主程序员MATT 希望把各种数据放到一个壶里&#xff0c;然后以一种指定的格式流出。Kettle这个ETL工…

kettle使用教程(超详细)

今天详细详细说一下kettle 的安装&#xff0c;安装的版本&#xff1a; jdk:jdk-8u152-windows--x64 kettle:KETTLE-5.4 一、环境部署 1、安装JDK,按默认值安装即可 2、设置环境变量,如图下图 具体步骤&#xff1a; 1.右击我的电脑-属性-高级系统设置-环境变量-系统变量-新建…

HMC5883L地磁传感器驱动

霍尼韦尔 HMC5883L 是一种表面贴装的高集成模块&#xff0c;并带有数字接口的弱磁传感器芯片&#xff0c;应用于低成本罗盘和磁场检测领域。HMC5883L 包括最先进的高分辨率 HMC118X 系列磁阻传感器&#xff0c;并附带霍尼韦尔专利的集成电路包括放大器、自动消磁驱动器、偏差校…

Arduino Uno + HMC5883L电子罗盘 实验

实现 HMC5883L 电子罗盘 简单的数据读取实验 实验效果 本实验&#xff0c;简单显示从HMC5883L 读取到的数据 BOM表 Arduino Uno * 1 HMC5883L&#xff08;gy-273&#xff09; * 1 跳线若干 接线图 Arduino Uno <----> HMC5883L 5v …

【模块学习】关于磁力计HMC5883L型号探索

关于磁力计HMC5883L型号探索 一&#xff0e;序言 在众多磁力计中&#xff0c;HMC5883L因为其廉价实用而受到大多数嵌入式开发小白的追捧。然而某宝上不仅仅有HMC5883L这一款&#xff0c;还有QMC5883和HMC5983&#xff0c;常有商家搞不清芯片就出售&#xff0c;导致提供的数据手…

HMC5883Lnbsp;磁力计校准

原文地址&#xff1a;HMC5883L 磁力计校准 作者&#xff1a;WalkAnt 这里针对 HMC5883L 磁力计 的校准&#xff0c;做一个简单讲解。欢迎交流&#xff0c;新浪长沙WalkAnt。 先看看这篇文章&#xff1a;http://blog.sina.com.cn/s/blog_8240cbef0101i7gn.html 如果磁力计在含有…

【51单片机快速入门指南】4.4:I2C 读取HMC5883L / QMC5883L 磁力计

目录 硬知识简介操作模式HMC5883L连续测量模式单次测量模式闲置模式 QMC5883L连续测量模式待命模式 主要差异寄存器寄存器列表HMC5883LQMC5883L 配置寄存器HMC5883L配置寄存器 A配置寄存器 B模式寄存器 QMC5883L控制寄存器1控制寄存器2SET/RESET Period Register 数据输出寄存器…

ESP32设备驱动-HMC5883L磁场传感器驱动

HMC5883L磁场传感器驱动 1、HMC5883L介绍 霍尼韦尔 HMC5883L 是一款表面贴装、多芯片模块,专为低场磁场传感而设计,具有数字接口,适用于低成本罗盘和磁力计等应用。 HMC5883L 包括我们先进的高分辨率 HMC118X 系列磁阻传感器和一个 ASIC,该 ASIC 包含放大、自动消磁带驱动…

STM32读取HMC5883L的偏航角数据

HMC5883L是一种IIC通信的电子罗盘芯片&#xff0c;输出与北的角度偏差&#xff0c;数值是0-360度&#xff0c;靠西方向增长&#xff0c;可以理解为逆时针为正。配合GPS模块简直就是四轴飞行器的铁杆标配。 5883的初始化 HMC5883L也是一个IIC器件&#xff0c;具体的操作方式和…