ETL工具Kettle在Linux系統上無圖形化運行

  *背景:最近已經兩個項目使用到了ETL工具Kettle,而且我司兩次使用的環境部署及使用都是我自己費勁巴拉東找西找來搞定的,所以覺得有必要自己把這塊知識記錄共享一下了。*

一、環境準備
由於Kettle是一個基於java的ETL工具,故首先需要配置好java環境變量,具體配置方法見文檔《centos7安裝jdk》。這裏我們使用的環境是windows10、centos7、jdk1.8.0_141-b15以及pentaho 7.1.0.0。

二、作業流程準備
1) 首先需要將kettle壓縮文件上傳到服務器並在適當的目錄下解壓,解壓後需要給文件賦確保可執行的權限:
Chmod 755 data-integration/*.sh
2) 測試部署是否成功:
執行 ./data-integration/kitchen.sh 若出現部署幫助信息則爲部署成功:
在這裏插入圖片描述
3) 然後在windows環境下將測試好的kettle作業文件準備好,具體流程操作參見文檔《公積金數據導出導入作業說明》。

三、遷移至生產環境

  1. 將本地的Repository文件夾拷貝到Linux機器的指定目錄下(一般爲pdi目錄)
  2. 將本地的repository.xml文件拷貝到Linux對應目錄下,修改其中的repository路徑(一般在linux上自己手動創建即可):
    在這裏插入圖片描述

四、創建可執行文件

  1. 創建可執行文件kettle.sh,其內容如下:
    在這裏插入圖片描述
  2. 對可執行文件kettle.sh賦權限,chmod +x kettle.sh

五、使用定時任務
關於使用定時任務的方式有很多,這裏我們使用linux系統自帶的crontab功能來實現。

  1. 查看系統的crontab服務是否被安裝或者被啓用
    在這裏插入圖片描述
    當顯示上圖中綠色字體時則表名此服務正在運行中,如若非此狀態則需要視情況安裝或啓動
  2. 添加定時任務具體內容如下:
    在這裏插入圖片描述
    在這裏插入圖片描述
    需要說明的是,以上兩圖是兩種不同的方式,使用其中一種方式即可。
  3. 開始定時任務:
    如果原crontab處於啓用狀態(running),則需要執行命令:
    在這裏插入圖片描述
    centos7及以上可以使用命令 systemctl start crond 啓動
    若爲第一次啓動則直接執行啓動命令即可。
  4. 假如本次啓動在日誌顯示找不到命令時,則需要再去修改kettle.sh的環境變量配置,當環境變量修改正確時再啓動則會在日誌打印kettle部署成功時的內容。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章