1,首先是安裝jdk,並設置環境變量
采用yum安裝可不設置環境變量
2,下載kettle
https://sourceforge.net/projects/pentaho/files/Data%20Integration/
請選擇我們當前工作的版本7.0
可以使用如下命名直接下載
wget -c --output-document=pdi-ce-7.0.0.0-25.zip https://nchc.dl.sourceforge.net/project/pentaho/Data%20Integration/7.0/pdi-ce-7.0.0.0-25.zip
3,使用unzip命令對這個壓縮包進行解壓
unzip pdi-ce-7.0.0.0-25.zip -d "/opt/kettle"
4,解壓后給予相應文件可執行權限
進入到/opt/kettle/data-integration
授予 *.sh +x權限 即可執行權限

5,執行轉換
編寫測試轉換,執行如下命令即可
/opt/kettle-spoon/data-integration/pan.sh -file=/opt/kettle-spoon/ktr/test/test1.ktr log=test1.log
6,執行job
sudo /opt/kettle-spoon/data-integration/kitchen.sh -file=/opt/kettle-spoon/ktr/test/SechuldUpdate.kjb log=timeLogUpdate.log
(如果是job需要定時,如果我們需要執行的是一個job,則可跳過下列步驟,直接在job里設置定時參數即可 )
job和ktr的路徑變量問題需要注意,也可以直接寫絕對路徑
7,配置定時任務
7.1,如果是轉換文件需要定時
可以按照如下方法操作,創建一個文件 test.sh
在這個文件里寫入如下語句
export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64 export CLASSPATH=.:$JAVA_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$PATH /opt/kettle-spoon/data-integration/pan.sh -file=/opt/kettle-spoon/ktr/test/Sechuld.kjb log=log.timelog ~data +%y%m%d~
然后給這個文件可執行權限 +x
然后運行 crontab –e 編輯定時任務
*/10 * * * * bash /home/etl/ schedule.sh表示每隔10分鍾執行一次schedule.sh
然后保存,運行crontab–l查看定時任務是否已載入
運行systemctl restart crond重啟定時任務,運行systemctl status crond查看crontab服務狀態
