kettle作業定時如何在開源調度工具taskctl裏實現

技術諮詢維信搜索 "kitleer" 備註 "諮詢"

更多文檔查詢關注公衆號 "taskctl"

“我在spoon裏面運行一個作業只要幾秒種,但是在TASKCTL中運行卻要好幾十秒?”

“並行同時運行幾個job,就把內存撐爆了,TASKCTL好佔資源呀!”

 

TASKCTL中調用kettle作業,實際上是通過pan和kitchen命令去調用。每一次調用都會重新初始化kettle運行環境,這個過程佔用大量的時間。並且每啓動一個kettle運行環境都相當於啓動一個JVM進程。每個JVM則會佔用幾百兆(默認設置)的內存。所以同時運行幾個作業,也會消耗大量內存資源。極端情況則可能會導致kettle內存溢出,產生致命錯誤。

這次更新,採用直接調用kettle核心的方式來運行作業。使得調度效率大幅提高,消耗資源(不包含作業本身所耗資源)也大幅降低。並行執行多個作業也能輕鬆應對了。

一、安裝部署:

1.      確保安裝環境具備kettle程序目錄

2.      下載好插件安裝包taskctl-plugin-kettle_1.0.5.zip並解壓至自定義安裝目錄

3.      進入安裝目錄,執行install命令。請注意windows環境需要以管理員身份運行。

4.    按照install程序的提示,確定kettle安裝目錄和IP及端口和資源庫等信息。

5.      安裝完畢後會生成cprunsoapkjb.sh (調作業)和cprunsoapktr.sh(調轉換) 腳本,根據提示分別放到TASKCTL的插件目錄下。

6.      執行startup命令啓動插件服務,安裝完畢!

 

二、使用教程:

1.      在桌面軟件Admin中配置好kettle插件,如下圖所示:

2.      通過Designer設計kettle調度流程如下代碼:

    <ktrjob>

          <name>ktr2</name>

          <progname>$HOME/mykettle/myktr.ktr</progname>

          <para>filename=output,line=$(msystime)</para>

          <jobdesc>核心調轉換很快</jobdesc>

        </ktrjob>

       <kjbjob>

          <name>kjb5</name>

          <progname>$HOME/mykettle/mykjb.kjb</progname>

          <para>filename=output,line=$(msystime)</para>

          <jobdesc>Linux文件系統</jobdesc>

        </kjbjob>

3.      把示例mykettle.zip解壓拷貝至插件安裝環境下的 mykettle/目錄(window環境請放至d:\mykettle):

4.      編譯流程後運行作業。可觀察到在mykettle目錄下,kettle作業生產的輸出文件。

 

三、常見問題及解答:

       Q:可以調kettle資源庫的作業嗎?

       A:支持數據庫資源庫和文件型資源庫。在插件安裝過程中選擇資源庫類型DB(數據庫資源庫)或FILE(文件資源庫)根據提示進行安裝。

 

       Q:調用windows平臺的kettle作業,還需要安裝TASKCTL的windows代理端嗎?

       A:不需要。該插件採用SOAP協議訪問。只需要在windows環境安裝該插件即可。

 

       Q:提示“Can not Access the http://xxx.xxx.xxx.xxx:xxxx/ SoapAPIService”

       A:需要執行startup命令啓動插件服務,或檢查8099(默認)端口是否打開。

 

       Q:怎麼傳遞參數給作業?

       A:按照”para1=value2,para2=value2”的形式。需要在作業中預設好命名參數para1和para2。

 

       Q:怎麼調整作業的日誌輸出等級?

       A:在插件的conf目錄下,配置ctlconf.int文件。設置PLUGIN.KETTLE.LOGLEVEL=[kettle日誌等級],並重新啓動插件

 

       Q:支持kettle哪些版本?

       A:該插件在kettle 7.0上測試通過。理論上也支持其它kettle版本。

 

       Q:插件日誌保存多久?

       A:30天

 

四、更新說明:

 

       2017-12-14:

       1、新增停止插件 cpstopsoapjob.sh

       2、適配TASKCTL 5.1

 

       2017-11-21:

       1、適配kettle 4/5/6/7版本

       2、修正安裝程序bug


————————————————
版權聲明:本文爲CSDN博主「筱茉莉」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/u010192213/article/details/107042075

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章