MacOS安裝使用Kettle

聖光下的囚徒發表於2021-10-27

一、環境說明

作業系統版本:macOS Big Sur 11.6.1

機型:Intel版本

JDK版本:Amazon Corretto-openjdk8

Kettle版本:Kettle8、9

二、問題說明

jdk是直接下載的pkg包安裝完成,終端輸入java -version後可以正常查詢到jdk版本;

直接執行“Data Integration”或者終端執行“spoon.sh”均開啟等待一段時間後閃退,檢視log檔案報錯如下(隱藏部分具體錯誤說明):

org.pentaho.ui.xul.XulException: java.lang.NullPointerException
	at org.pentaho.ui.xul.impl.AbstractXulLoader.loadXul(AbstractXulLoader.java:135)
	at org.pentaho.ui.xul.swt.SwtXulLoader.loadXul(SwtXulLoader.java:128)
	at org.pentaho.ui.xul.swt.SwtXulLoader.loadXul(SwtXulLoader.java:122)
	...
Caused by: java.lang.NullPointerException
	at org.eclipse.swt.widgets.Control.internal_new_GC(Unknown Source)
	at org.eclipse.swt.graphics.GC.<init>(Unknown Source)
	at org.eclipse.swt.graphics.GC.<init>(Unknown Source)
	...
	... 26 more
org.pentaho.di.core.exception.KettlePluginException: 
Unexpected error loading class:
java.lang.NullPointerException

	at org.pentaho.di.core.plugins.PluginRegistry.loadClass(PluginRegistry.java:503)
	at org.pentaho.di.core.plugins.PluginRegistry.loadClass(PluginRegistry.java:340)
	...
Caused by: org.pentaho.ui.xul.XulException: java.lang.NullPointerException
	at org.pentaho.ui.xul.impl.AbstractXulLoader.loadXul(AbstractXulLoader.java:135)
	at org.pentaho.ui.xul.swt.SwtXulLoader.loadXul(SwtXulLoader.java:128)
	...
	... 15 more
Caused by: java.lang.NullPointerException
	at org.eclipse.swt.widgets.Control.internal_new_GC(Unknown Source)
	at org.eclipse.swt.graphics.GC.<init>(Unknown Source)
	at org.eclipse.swt.graphics.GC.<init>(Unknown Source)
	at org.eclipse.swt.widgets.Table.setScrollWidth(Unknown Source)
	...
	... 26 more

更換kettle版本或者更換jdk為zulu jdk8依然不能解決問題,通過查詢資料並驗證,解決方案如下:

三、解決方案

3.1JDK

JDK必須使用Oracle的JDK1.8.0_202版本。

JDK可以通過官網查詢下載,這裡給出百度網盤連結

百度網盤連結: https://pan.baidu.com/s/1wwnoeYwrinQbialUcUYlYA 提取碼: wyey 

保險期間請手動配置環境變數。

如果之前有安裝其他JDK,建議徹底刪除,刪除命令如下(請在終端執行):

sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin 
sudo rm -rf /Library/PreferencesPanes/JavaControlPanel.prefpane
sudo rm -rf /Library/Java/JavaVirtualMachines/*

清理乾淨後,安裝下載jdk1.8.0_202版本,然後根據一下命令配置環境:

# 確保在根目錄
cd ~
# vi開啟配置檔案
vi .bash_profile

# 在配置檔案末尾增加如下程式碼(在待插入位置按一下i鍵進入編輯模式)
#JAVA
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
PATH=$JAVA_HOME/bin:$PATH:.
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export JAVA_HOME
export PATH
export CLASSPATH

# 新增完成後報錯退出(按ESC退出編輯模式,輸入":wq"儲存退出)
# 重新整理配置檔案
source .bash_profile
3.2Kettle

測試幾個版本都無法使用,先給出經測試後可用的版本下載地址:

官方連結:https://udomain.dl.sourceforge.net/project/pentaho/Pentaho 9.1/client-tools/pdi-ce-9.1.0.0-324.zip
百度網盤連結:https://pan.baidu.com/s/1ltrZjQDRR2hSrnQO3Qfl_Q   提取碼:uk6c 

下載完成後直接解壓,然後拖動“spoon.sh”檔案到終端視窗,回車即可執行。

3.3其他

僅測試了Intel機型蘋果系統,未測試M1機型,不見得可用;

Kettle版本也未能測試多個版本,不確定其他版本是否可用;

其他問題歡迎反饋。

四、參考資料

https://blog.csdn.net/ManWZD/article/details/109953243

相關文章