CentOS8/windows下安装kettle填坑过程分享

背景

有一个业务数据库,因为数据量比较大,所以只存储一个月内的数据,然而进行大数据分析等需要足够大的数据量,一个月的数据是远远不够的,所以就需要将业务数据库里的数据每天定时抽取到分析数据库,积累大量数据,也就是构建数据仓库,网上都说kettle好用,它的描述是:
Kettle 是一款国外开源的 ETL 工具,纯 Java 编写,绿色无需安装,可以在Windows、Linux、Unix上运行,数据抽取高效稳定(数据迁移工具)。Kettle 中有两种脚本文件,transformation 和 job,transformation 完成针对数据的基础转换,job 则完成整个工作流的控制。

Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出

Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做
我想,这个工具应该是比较满足我需要的,遂安装之,但是centos8是新出的,安装过程各种出错,这里记录下来,分享给大家。

开始安装(CentOS8)

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

openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)

若是版本不对,则先查看安装的jdk
rpm -qa|grep java
删除
rpm -e ****(自己代入)
rpm -e --nodeps ****(强制删除)
找到合适jdk
yum list |grep jdk
安装之
yum -y install java-1.8.0-openjdk.x86_64
再输入
java -version
可以看到安装成功的版本。
二。kettle安装

点此进入kettle官网下载
绿色按钮是最新版,也可点击下载其他版本

国内源,相对较快,但没有最新版
它是一个压缩包,解压就行,我的是CentOS8,下载的是
pdi-ce-8.3.0.0-371.zip
下载后cd到文件所在目录:
unzip pdi-ce-8.3.0.0-371.zip
解压后
cd data-integration
ll *.sh
可以看到很多sh脚本文件

./kitchen.sh
看有没有报错,这里报了一个警告

#######################################################################
WARNING:  no libwebkitgtk-1.0 detected, some features will be unavailable
    Consider installing the package with apt-get or yum.
    e.g. 'sudo apt-get install libwebkitgtk-1.0-0'
#######################################################################

很多人说这个warning不解决也没事,但是我解决了
直接yum install webkitgtk 安装
报错提示:没有可用的包
需要先安装:
yum -y install epel-release
下载最新的nux-dextop-release rpm包,下载地址 ,找到这个包下载
下好后安装这个包
rpm -Uvh nux-dextop-release-0-5.el7.nux.noarch.rpm
继续
yum install webkitgtk
报错:

Nux.Ro RPMs for general desktop use             356 kB/s | 4.2 MB     00:12    
錯誤:
 問題: conflicting requests
  - nothing provides libpng15.so.15()(64bit) needed by webkitgtk-2.4.9-3.el7.nux.x86_64
  - nothing provides libpng15.so.15(PNG15_0)(64bit) needed by webkitgtk-2.4.9-3.el7.nux.x86_64
  - nothing provides libwebp.so.4()(64bit) needed by webkitgtk-2.4.9-3.el7.nux.x86_64
  - nothing provides libicudata.so.50()(64bit) needed by webkitgtk-2.4.9-3.el7.nux.x86_64
  - nothing provides libicui18n.so.50()(64bit) needed by webkitgtk-2.4.9-3.el7.nux.x86_64
  - nothing provides libicuuc.so.50()(64bit) needed by webkitgtk-2.4.9-3.el7.nux.x86_64
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

这里提示缺少这些依赖,在这个网站里搜索
RPM包下载
下载之后安装,上面有六个nothing,我只找到四个包,依次安装
rpm -ivh lib64png15-1.5.2-1-mdv2011.0.x86_64.rpm
rpm -ivh lib64webp4-0.3.1-2.mga4.x86_64.rpm
rpm -ivh libicu-50.2-3.el7.x86_64.rpm
rpm -ivh lib64icu50-50.1.2-1.1.mga3.x86_64.rpm
最后的rpm -ivh lib64icu50-50.1.2-1.1.mga3.x86_64.rpm我这里报错硬是装不上,所以
rpm -ivh --nodeps lib64icu50-50.1.2-1.1.mga3.x86_64.rpm
强制安装。
再次
yum install webkitgtk
现在安装成功了
再次cd到data-integration
./kitchen.sh

[root@localhost data-integration]# ./kitchen.sh
OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
Options:
  -rep            = Repository name
  -user           = Repository username
  -pass           = Repository password
  -job            = The name of the job to launch
  -dir            = The directory (dont forget the leading /)
  -file           = The filename (Job XML) to launch
  -level          = The logging level (Basic, Detailed, Debug, Rowlevel, Error, Minimal, Nothing)

ok
说明安装完成

三。使用
在data-integration下
./spoon.h
就可以打开kettle了
在这里插入图片描述
第一次打开kettle后,我是英文界面,可以在工具里面改,工具-》选项(options)->language,选择Simplified Chinese就ok了
在这里插入图片描述
我这里第一次打开kettle修改语言时系统卡死了,重启电脑才好,所以安装的时候记得先备份文件什么的。
四。连接mysql数据库报错
这边连接数据库时发现

Error connecting to database: (using class org.gjt.mm.mysql.Driver) Communications link failure

biying之~发现是缺少数据库连接文件
于是mysql官网下载,我这边下载的是mysql-connector-java-5.1.48.zip(最新的在window下可以用,但是centos8下不能)要点击looking for,才能看到老版本
在这里插入图片描述

解压后里面有2个包

mysql-connector-java-5.1.48-bin.jar
mysql-connector-java-5.1.48.jar

mysql-connector-java-5.1.48-bin.jar放到data-integration下的Data Service JDBC Driver里
mysql-connector-java-5.1.48.jar放到data-integration下的lib里
重启,输入正确的账号秘密就能连接成功了
在这里插入图片描述

Window下安装kettle

也是一样的,先把jdk安装好,环境变量安装好。
不过这边要下载windows版的
在这里插入图片描述
解压后将mysql-connector-java-8.0.18.jar放到data-integration下的Data Service JDBC Driver和lib里(两个文件夹都放)
点击data-integration下的spoon.bat就可以使用了
这边要注意一点,我的windows7 32位电脑可能内存不够了,所以带不动,会导致命令行一闪而过,这里可以编辑spoon.bat
只要修改一下spoon.bat里内存配置:

if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms2058m" "-Xmx1024m" "-XX:MaxPermSize=256m"

改为

if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms512m" "-Xmx512m" "-XX:MaxPermSize=256m"

就可以了

后记

注意:
mysql数据连接包得根据你要连接的mysql版本来,我的mysql版本是
8.0.11,而且数据连接包分系统!连接oracle也需要下载对应的连接包
有问题留言评论,码字不易,点个赞让我知道我帮到你了:)

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值