1. 程式人生 > >linux 下安裝並執行kettle 程式

linux 下安裝並執行kettle 程式

一、建立使用者

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 [email protected]'%' IDENTIFIED by 'password'; 
flush privileges;

八、啟動之後點選連線資源庫

在這裡插入圖片描述


在這裡插入圖片描述


在這裡插入圖片描述


在這裡插入圖片描述


完成資料庫資訊填寫,回到資源庫資訊介面,選擇“正確的連線名”,並填寫 ID和名稱

在這裡插入圖片描述

點選“建立或更新”,彈出提示如下
在這裡插入圖片描述

點選“是”,會彈出設定管理員密碼的視窗
在這裡插入圖片描述

輸入,此處使用password,確定,彈出提示視窗如下
在這裡插入圖片描述

點選“是”,會生成新視窗,內容是SQL指令碼
在這裡插入圖片描述

點選“Execute”執行指令碼,彈出SQL執行結果的視窗
在這裡插入圖片描述

點選“確定”,關閉此視窗,然後點選“關閉”,關閉SQL提示的視窗
在這裡插入圖片描述

關閉SQL視窗之後,回到資源庫資訊的介面
在這裡插入圖片描述

擊“確定”,關閉資源庫資訊視窗,此時就到了連線資源庫的介面
在這裡插入圖片描述

選擇要連線的資源庫“測試資源庫”,輸入管理員使用者admin,密碼password(剛剛設定的密碼),點選“OK”進行連線。
此時可以看一下左上角的資訊
在這裡插入圖片描述
說明我們此時連線了資源庫“testdb1”