1:kettle安装部署(Windows)
kettle在部署过程当中,总共分两个步骤。1,安装jdk环境且不能高于1.8版本(会报错)2,解压kettle压缩包即可.
1.1:kettle产品简介
1.1.1:kettle简介
- ETL:是数据抽取(Extract)、转换(Transform)、加载(Load)的简称。实现数据从多个异构数据源加载到数据库或其他目标地址,是数据仓库建设和维护的重要一环,也是工作量较大的一块。
- kettle是ETL中一款国外开源的ETL工具,纯Java编写,由于Java具有跨平台的特性。所以,它可以无所顾忌的运行在Unix、Windows和linux当中,数据抽取时也是高效稳定的。
- kettle的中文名是水壶。该项目的主程序员MATT希望把各种数据放在一个壶里。然后,以一种指定的格式流出。
- kettle中两种脚本文件,分别是transformation和job。transformation针对数据的基础转换完成,job则是针对整个工作流的控制。
1.1.2:kettle产品分类
- 主要有Spoon、Pan、CHEF、Kitchen.
- Spoon:图形化工具,用来快速设计和维护复杂的ETL工作流。Windows选择spoon.bat;linux选择spoon.sh
- Pan:允许批量运行由Spoon设计的ETL转换。例如,使用一个时间调度器。Pan是一个后台执行程序,没有图形界面。
- CHEF:允许你创建任务(job)。任务通过允许每个转换,任务,脚本等等,更有利于自动化更新数据仓库的复杂工作。
- Kitchen:用来执行job(工作),后台运行程序
1.2:jdk安装
网上地址:Pentaho from Hitachi Vantara - Browse Files at SourceForge.net都已经失效,报错提示如下:
链接下载地址:Java Downloads | Oracle 中国(网上之前帖子都已过期,此链接是文档更新日,最新的)根据自行需要版本下载
下载完成后,双击jdk包,直接默认解压安装即可(jdk安装路径可自行选择)
1.3:环境变量的配置
右击此电脑---属性---高级设置---环境变量。在环境变量当中,分别新建系统变量和环境变量即可。变量名可自行编辑
1.3.1:添加系统变量
在系统变量中找到PATH双击,点击“编辑”---新建---输入%JAVA_HOME%\bin即可。此处的Java_HOME指的是用户变量中的变量名。
1.4:结果验证
win+R键---cmd---java -version。依次输入命令,若是提示Java版本号,则代表成功。反之,则失败。
1.5:遇到的问题
若是,均按照以上操作。还是没有安装成功,则需要排查确认jdk版本是不是高于1.8版本。
或者,在用户变量当中在新增如下变量
添加完成后,保存。打开cmd窗口,继续输入java -version,查看结果。若还未成功,请自行百度,看有无其他解决方案
2:kettle安装部署
直接将kettle安装包解压到文件夹即可。文件解压后,进入文件双击spoon.bat文件,等待启动,即可。
2.1:kettle安装遇到的问题及解决方法
问题1:运行spoon.bat后,出现闪退。
解决方法:先检查jdk版本或者检查jdk是否安装成功。若是版本没有问题,则使用文本形式打开spoon.bat修改内存
if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms1024m" "-Xmx2048m" "-XX:MaxPermSize=256m"
改为:
if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms512m" "-Xmx1024m" "-XX:MaxPermSize=256m"
问题2:启动页有上角没有“connect”按钮。
解决办法:将jdk版本降至1.8
问题3:连接数据库,报错
需要下载对应的数据库驱动包:https://download.csdn.net/download/qq_36135335/10925811此链接中包含了mysql和oracle驱动。
解决方法:将对应数据库驱动jar文件,复制到kettle所安装的/data-integration\lib库下即可。
3:Spoon数据转换
3.1:数据库连接
文件---数据库连接---填写对应的信息
注意:首先点击测试连接,看是否成功。若是报错,查看数据库驱动jar包是否匹配合适。具体报错,具体分析
oracle数据库表连接信息
inceptor(星环数据库)连接信息
3.2:数据转换
文件---新建---转换---输入---表输入---输出---表输出---启动
输入输出转换
执行结果
kettle详细使用教程和自动化脚本部署:KETTLE的使用以及自动化脚本的部署_kettle脚本-CSDN博客
4:linux服务器上部署kettle以及定时任务
4.1:卸载当前系统jdk环境
系统安装完成后,一般自带jdk环境。首先,我们需要检查当前系统是否有安装jdk环境。如果有,则需要卸载当前系统原有的jdk环境
查看jdk版本信息: java -version
查看jdk对应的java相关文件:rpm -qa | grep java
删除当前系统原有组件:rpm -e --nodeps 文件名
当前系统没有jdk和对应的java组件
4.2:jdk安装
jdk下载地址:Java Downloads | Oracle(最新版本)
Java Archive Downloads - Java SE 16(历史版 本)
将下载好的软件包上传至目标服务器对应目录下。然后,解压安装
将压缩包解压到/opt/java目录下:tar zxvf jdk-8u131-linux-x64.tar.gz -C /usr/local/java/
切换目录至java下:cd /opt/java
或者使用yum安装
查看java列表:yum list java*
选择java版本安装:yum install java版本
查看版本:java -version
注意:使用yum安装java后,其文件默认安装在/usr/lib/jvm 目录下
示意图
4.3:配置环境变量
编辑文件:vim /etc/profile
在底部添加如下内容(以下三种方法,任意一种即可)
注意:JAVA_HOME=/usr/local/java/jdk1.8.0_351 就是你自己的目录
#java environment
export JAVA_HOME=/usr/local/java/jdk1.8.0_351
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
#java environment
export JAVA_HOME=/usr/local/java/jdk1.8.0_351
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
#java environment
export JAVA_HOME=/usr/local/java/jdk1.8.0_351
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
重新加载配置命令:source /etc/profile
查看安装情况:java -version
4.4:kettle安装(ETL工具)
4.4.1:kettle安装
下载链接:Pentaho Community Edition Download | Hitachi Vantara
注意:文件下载后为zip文件,使用unzip解压即可
解压:unzip pdi-ce-7.1.0.0-12.zip
切换目录: cd data-integration
赋执行权限: chmod +x *.sh
安装:sh kitchen.sh
若出现option选项帮助则代表安装成功
4.4.2:遇到的问题 (FAQ)
直接使用yum install webkitgtk安装报错及解决方法如下
报错信息:No package webkitgtk available
解决方法:
下载最新的nux-dextop-release rpm包
下载链接地址:http://mirrors.coreix.net/li.nux.ro//nux/dextop/el7/x86_64/
安装依赖:yum install -y epel-release
rpm包解压安装:rpm -Uvh nux-dextop-release-0-5.el7.nux.noarch.rpm
安装webitgtk:yum install webkitgtk 最后执行 ./kitchen.sh
4.5:使用crond定时任务执行kettle的job任务
编辑定时任务:crontab -e
23 11 10 02 * /mnt/kettle/test.sh
23代表分钟。11代表小时,10代表日,02,代表月 *代表星期几。 /mnt/kettle/test.sh代表执行脚本路径
详细用法百度crontab用法
结果查询:
此处的“crontab -l”代表查看后台任务列表。
Windows客户端部署:Kettle部署与使用_kettle安装_加油北冥的博客-CSDN博客
linux服务端部署:Linux上部署kettle及定时执行_linux 部署kettle-CSDN博客
kettle工具链接:百度网盘 请输入提取码 提取码:1234