#Kettle遠(yuǎn)程執(zhí)行任務(wù)

//
開源ETL工具Kettle初試–遠(yuǎn)程執(zhí)行任務(wù) – lxw的大數(shù)據(jù)田地
http://lxw1234.com/archives/2017/02/834.htm#comments

Kettle是一款國外開源的ETL以及簡單的調(diào)度工具。官網(wǎng):http://www.pentaho.com/product/data-integration之前Kettle在傳統(tǒng)數(shù)據(jù)倉庫中用的比較多,現(xiàn)在也集成了很多大數(shù)據(jù)相關(guān)的組件,比如:HDFS、MapReduce、HBase、Hive、Sqoop等。這兩天試驗了一下,在此做一記錄。
我使用的Kettle版本為最新的pdi-ce-7.0.0.0-25.zip,特別注意,該版本對jdk的要求比較高,之前系統(tǒng)上的jdk-8u65竟然也不行,后來用了最新的jdk-8u121才正常。
完成了一個簡單的ETL過程:從Oracle中抽取數(shù)據(jù)->寫入HDFS->Load進(jìn)Hive表。
因為我們的Linux服務(wù)器都沒有圖形化界面,并且我本機不能訪問hadoop集群節(jié)點的內(nèi)網(wǎng)ip(只能通過網(wǎng)關(guān)機訪問),因此,需要進(jìn)行下面的部署:

kettle

在Hadoop網(wǎng)關(guān)機(Linux)上啟動Kettle遠(yuǎn)程服務(wù),作為子服務(wù)器;在我的機器(windows)上啟動Kettle,作為主服務(wù)器,進(jìn)行作業(yè)開發(fā),執(zhí)行時候,提交到子服務(wù)器進(jìn)行遠(yuǎn)程執(zhí)行。
配置Kettle遠(yuǎn)程服務(wù)
下載Kettle:
https://nchc.dl.sourceforge.net/project/pentaho/Data%20Integration/7.0/pdi-ce-7.0.0.0-25.zip
解壓之后,編輯data-integration/plugins/pentaho-big-data-plugin/plugin.properties文件:設(shè)置hadoop版本(我使用的cdh5.8):active.hadoop.configuration=cdh58
進(jìn)入data-integration/plugins/pentaho-big-data-plugin/hadoop-configurations/cdh58目錄:將hadoop的配置文件core-site.xml、mapred-site.xml、yarn-site.xml復(fù)制過來。
在Kettle遠(yuǎn)程服務(wù)器上(Linux):進(jìn)入data-integration目錄,設(shè)置遠(yuǎn)程服務(wù)連接密碼:sh encr.sh -carte yourpassword結(jié)果會輸出加密后的密碼:OBF:1hvy1i271vny1zej1zer1vn41hzj1hrk
編輯密碼文件:vi ./pwd/kettle.pwdcluster: OBF:1hvy1i271vny1zej1zer1vn41hzj1hrk其中,cluster為默認(rèn)的用戶名。
然后啟動遠(yuǎn)程服務(wù):nohup ./carte.sh localhost 9888 >> carte.log &
端口號9888可以自己定義。
本地Kettle主服務(wù)器開發(fā)任務(wù)
本地windows解壓Kettle之后,執(zhí)行Spoon.bat啟動Kettle。執(zhí)行SpoonConsole.bat打開圖形界面。
文件->新建->轉(zhuǎn)換:
kettle

在該轉(zhuǎn)換中,需要配置2個DB鏈接(Oracle和HiveServer2),配置Hadoop集群(HDFS),配置子服務(wù)器(遠(yuǎn)程執(zhí)行服務(wù)器)。DB的配置很簡單,略過。新建子服務(wù)器:
kettle

新建Hadoop集群:注意,如果不使用MapReduce和ZK,那么只需要配置HDFS即可,Hostname為主NameNode的IP.
kettle

遠(yuǎn)程執(zhí)行任務(wù)
開發(fā)完后,在執(zhí)行的選項中,選擇遠(yuǎn)程執(zhí)行:
kettle

本地Kettle會連接到遠(yuǎn)程Kettle子服務(wù)器,將該作業(yè)配置信息發(fā)送給子服務(wù)器進(jìn)行執(zhí)行。

除了上述方法完成DBàHive的數(shù)據(jù)導(dǎo)入,Kettle也集成了Sqoop,應(yīng)該也可以完成,后續(xù)再進(jìn)行嘗試:


kettle
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容