亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 60240 | 回復: 1
打印 上一主題 下一主題

kettle調度監(jiān)控最佳實踐 [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2017-10-30 11:34 |只看該作者 |倒序瀏覽
Kettle作為用戶規(guī)模最多的開源ETL工具,強大簡潔的功能深受廣大ETL從業(yè)者的歡迎。但kettle本身的調度監(jiān)控功能卻非常弱。
    連Pentaho官方都建議采用crontab(Unix平臺)和計劃任務(Windows平臺)來完成調度功能。所以大家在實施kettle作業(yè)調度功能的時候,通常采用以下幾種方式:使用spoon程序來啟動Job,使用crontab或計劃任務,自主開發(fā)java程序來調用kettle的類庫。下面分析這幾種調度方式的利弊。
一、spoon 程序調用Job(kjb作業(yè)):
    該方式是kettle原生的調度方式,實現(xiàn)了基本的定時調度功能。比如按月,周,日,時點的方式來啟動。并且執(zhí)行速度很快。但是對于ETL作業(yè)來說,其本質是后臺數(shù)據(jù)處理邏輯,卻要必須保持spoon桌面程序一直運行。
    無論從ETL平臺穩(wěn)定性來說,還是自動化管理標準來說,都非常不適宜。所以一般來說企業(yè)是不會選擇此方案。

二、官方建議的crontab或計劃任務:
    該方式是目前比較流行的方案。對于一般用戶來說,系統(tǒng)自帶的時間計劃可以滿足基本的調度功能需求。但是對于復雜的調度邏輯,比如依賴、互斥、自定義條件分支,錯誤重試、斷點續(xù)跑等高級調度特性,就無法應對了。
    由于是采用系統(tǒng)外部命令來調用kettle作業(yè),所以每次調起一個轉換或作業(yè)的時候,就會消耗大量的時間(>10秒)來初始化一個新的kettle運行環(huán)境。在并行調用多個kettle作業(yè)的時候,特別是調用數(shù)據(jù)資源庫里的作業(yè),容易引起系統(tǒng)級別的錯誤,帶來不穩(wěn)定性。
    另外初始化kettle運行環(huán)境實際就是啟動一個JVM進程。如果多個kettle作業(yè)同時運行,很容易把系統(tǒng)內(nèi)存撐爆。筆者測試過通過此方式同時運行5個轉換(簡單文本操作)就把2GB的內(nèi)存撐爆了。所以此方式不太適合并行調用kettle作業(yè)。
    大家試想一下,如果我們有1000個作業(yè)需要調用。那計劃任務腳本應該怎么寫呢?我們應該怎么維護呢?顯而易見的是,隨著作業(yè)數(shù)的增多,維護成本將會成倍增加。
    我們費盡心力,寫了長長的腳本程序,終于把這1000個作業(yè)調起了!正在為后臺自動化調度的成功實施而自喜的時候,結果領導又安排了新的任務:我要監(jiān)控一下作業(yè)的運行情況和日志哦......

三、自主開發(fā)java程序來調kettle類庫。
    領導不是要監(jiān)控作業(yè)的運行情況和日志么?我自認為java水平還不錯。大不了我寫一個web應用來讀取資源庫的日志信息吧。并且之前的調度方式效率太低了,我用java程序模擬spoon環(huán)境來調kettle類庫。這樣子效率也提高,這肯定是一個不錯的方案。調度功能不強大?采用oozie吧,挺流行的... 算算工期6個人月?嗯...還是再考慮考慮吧。
    總而言之,打算采用自主開發(fā)java調kettle的話,不是一個小工程,還是得當成單獨項目來立項吧。

    難道就沒有其它敏捷適用的方案了嗎?其實在ETL調度領域,TASKCTL早就實現(xiàn)了對kettle作業(yè)實時調度監(jiān)控管理了。并且在最新的版本中,直接調用kettle核心,調度效率大幅度提升!我們來看看使用TASKCTL調度kettle到底有哪些優(yōu)勢:
1、完整的調度核心:可以實現(xiàn)關系(依賴互斥、串并引用)策略,排程計劃策略,容錯策略,自定義策略。怎么調都可以。
2、企業(yè)級特性:支持跨平臺、分布式、高可靠。無論是linux上還是windows上面的kettle作業(yè),都能統(tǒng)一監(jiān)控管理。
3、靈活的人工干預:人工運行任意流程分支,對作業(yè)流程實現(xiàn)斷點,暫停。對作業(yè)實現(xiàn)強制通過,重跑等。
4、效率大幅提升:經(jīng)筆者測試:運行60次同樣的ktr。 采用傳統(tǒng)的pan來調大約耗時:21分15秒(無法并行,并行即報錯)。而采用TASKCTL來調,則耗時不到5秒(并行度為20)
5、全方位實時監(jiān)控:采用實時刷新、圖形、多角度多口徑統(tǒng)計以及短信等方式對整個平臺作業(yè)進行全方位監(jiān)控,以便用戶及時掌握哪些作業(yè)正在運行、錯誤原因、失敗、警告等信息

    TASKCTL說得這么好。到底好不好用?安裝方便不方便呢?ok,我們來部署一套試試吧。
1、安裝TASKCTL服務端:http://www.taskctl.com/forum/detail_99.html
3、安裝TASKCTL-kettle插件和實例流程 http://www.taskctl.com/forum/detail_124.html
    如果您有一定的linux基礎的話。整個步驟30分鐘之內(nèi)就能搞定咯。

論壇徽章:
0
2 [報告]
發(fā)表于 2017-11-08 10:16 |只看該作者
學習了,我去下載試試
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP