一、创建用户
groupadd kettle
useradd -r -g kettle kettle 
二、下载并解压安装包
unzip pdi-ce-7.1.0.0-12.zip
chown kettle.kettle data-integration -R
cd  data-integration
chmod 755 *.sh
三、安装jdk
mkdir /usr/java
tar  -zxvf 	jdk-8u181-linux-x64.tar -C /usr/java/
四、配置java环境变量
vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_171
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
五、安装mysql、oracle驱动
驱动有 ojdbc5、ojdbc6、mysql-connector-java
Orcale驱动下载地址:https://www.oracle.com/technetwork/cn/database/features/jdbc/index-093096-zhs.html
Mysql驱动下载地址:https://dev.mysql.com/downloads/connector/j/5.1.html

分别copy到以下目录中:
cp mysql-connector-java-5.1.36-bin.jar data-integration/lib/

cp ojdbc5.jar ojdbc6.jar data-integration /Data\ Service\ JDBC\ Driver/

####六、测试安装是否成功

su - kettle
cd  data-integration
./kitchen.sh      #若出现帮助信息,证明安装成功
./spoon.sh  &     #启动

错误信息:
1、Could not load SWT library. Reasons

java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: 
	no swt-pi-gtk-4335 in java.library.path
	no swt-pi-gtk in java.library.path
	/home/proot/.swt/lib/linux/x86_64/libswt-pi-gtk-4335.so: libXtst.so.6: cannot open shared object file: No such file or directory
	Can't load library: /home/proot/.swt/lib/linux/x86_64/libswt-pi-gtk.so
	at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
	at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
	at org.eclipse.swt.internal.gtk.OS.<clinit>(Unknown Source)
	at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source)
	at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source)
	at org.eclipse.swt.widgets.Display.<clinit>(Unknown Source)
	at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:649)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.pentaho.commons.launcher.Launcher.main(Launcher.java:92)

说明没安装 SWT library ,需要安装 SWT 库

yum -y install gtk2.i686 gtk2-engines.i686 PackageKit-gtk-module.i686 PackageKit-gtk-module.x86_64 libcanberra-gtk2.x86_64 libcanberra-gtk2.i686

2、No more handles [gtk_init_check()

Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]
	at org.eclipse.swt.SWT.error(Unknown Source)
	at org.eclipse.swt.widgets.Display.createDisplay(Unknown Source)
	at org.eclipse.swt.widgets.Display.create(Unknown Source)
	at org.eclipse.swt.graphics.Device.<init>(Unknown Source)
	at org.eclipse.swt.widgets.Display.<init>(Unknown Source)
	at org.eclipse.swt.widgets.Display.<init>(Unknown Source)
	at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:649)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.pentaho.commons.launcher.Launcher.main(Launcher.java:92)

这个报错说明 centos 系统没有安装图形化界面

yum -y install "GNOME Desktop"
七、配置资源库

已安装的数据库(本例为mysql)中

#创建用户
create  user kettle;

#创建数据库
create database testdb;

#为用户授权资源库读写权限
grant all privileges on . to kettle@’%’ IDENTIFIED by ‘password’;
flush privileges;

八、启动之后点击连接资源库

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


完成数据库信息填写,回到资源库信息界面,选择“正确的连接名”,并填写 ID和名称

在这里插入图片描述

点击“创建或更新”,弹出提示如下
在这里插入图片描述

点击“是”,会弹出设置管理员密码的窗口
在这里插入图片描述

输入,此处使用password,确定,弹出提示窗口如下
在这里插入图片描述

点击“是”,会生成新窗口,内容是SQL脚本
在这里插入图片描述

点击“Execute”执行脚本,弹出SQL运行结果的窗口
在这里插入图片描述

点击“确定”,关闭此窗口,然后点击“关闭”,关闭SQL提示的窗口
在这里插入图片描述

关闭SQL窗口之后,回到资源库信息的界面
在这里插入图片描述

击“确定”,关闭资源库信息窗口,此时就到了连接资源库的界面
在这里插入图片描述

选择要连接的资源库“测试资源库”,输入管理员用户admin,密码password(刚刚设置的密码),点击“OK”进行连接。
此时可以看一下左上角的信息
在这里插入图片描述
说明我们此时连接了资源库“testdb1”

命令行运行kettle任务

#!/bin/bash
cd /home/kettle/data-integration
export JAVA_HOME=/usr/java/jdk1.8.0_162

export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
./kitchen.sh -file=/home/kettle/kettle_file/job/testdemo.kjb /level:Basic >>/home/kettle/kettle_file/kettle_log/ts_$(date +%Y%m%d).log & ./kitchen.sh -file=/home/kettle/kettle_file/job/testdemo2.kjb /level:Basic >>/home/kettle/kettle_file/kettle_log/ts_$(date +%Y%m%d).log &

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐