Pentaho Kettle 6.1連接CDH5.4.0集群


  作者:Syn良子 出處:http://www.cnblogs.com/cssdongl 歡迎轉載

  最近把之前寫的Hadoop MapReduce程序又總結了下,發現很多邏輯基本都是大致相同的,於是想到能不能利用ETL工具來進行配置相關邏輯來實現MapReduce代碼自動生成並執行,這樣可以簡化現有以及之后的一部分工作.於是選取了上手容易並對Hadoop支持的比較成熟的Pentaho Kettle來測試,把一些配置過程和遇到的坑記錄下來.
  Kettle可以在官網下載到,但是官網會讓你注冊才能下載而且速度不穩定,所以推薦在這個鏈接進行下載,各個版本都有,我用的是PDI(Pentaho Data Integration)6.1,需要連接的集群是Hadoop2.6.0-CDH5.4.0.
  進入鏈接里的6.1文件夾直接下載pdi-ce-6.1.0.1-196.zip解壓,進入data-integration根目錄啟動Spoon.bat,等待kettle啟動成功.

一.准備工作
       
   在配置PDI連接Bigdata source之前,需要檢查下需要連接的source版本和對應的Pentaho的組件是否兼容,如下圖

  

 

  可以看到,之前下載的PDI(上表中屬於PDI Spoon),基本上是支持連接CDH,MapR,EMR,HDP等主流數據源的.我連接的集群是CDH5.4,也在支持范圍內.

 

二.配置Pentaho組件Shims

  Shims這里我的理解是Pentaho提供的一系列連接各個source的適配器,具體配置位置根據Pentaho的組件來決定,現在的PDI Spoon的配置位置在../data-integration/plugins/pentaho-big-data-plugin/hadoop-configurations 下,注意這個地方要配置好對應數據源的shims,如下圖有好幾種數據源,


  

  
  比如我當前連接的是CDH5.4.0,那么我先清空cdh55下的內容,隨后下載對應的shims來解壓拷貝到該目錄下,具體shims下載位置在

    https://sourceforge.net/projects/pentaho/files/Big%20Data%20Shims

  選擇相應的PDI版本進入,下載對應的CDH版本的shims,我需要下載的是 pentaho-hadoop-shims-cdh54-package-61.2016.04.01-196-dist.zip,打開該zip,雙擊install.bat進行shims解壓,將解壓后的cdh54目錄下的內容全部拷貝到hadoop-configurations下的默認的cdh55文件下里面去(其實cdh55這個應該可以改名為cdh54,但是修改完這個文件夾名稱的話,PDI找不到該配置了,應該可以在哪兒設置,暫時沒找到,找到的同學可以告訴我).

  這個地方一定要下載好對應的shims,否則PDI中即使你配置好正確的CDH連接信息,那么隨后在使用過程中也會報各種莫名其妙的錯誤.

 

三.編輯Cluster配置文件

  完成上一步內容后,進入cdh55目錄下,將CDH5.4集群上的hive-site.xml,mapred-site.xml,hbase-site.xml,core-site.xml,hdfs-site.xml,yarn-site.xml等配置文件拷貝到當前目錄覆蓋.然后進行一些必要的修改.如下

  修改hive-site.xml,將hive的metastore修改為和集群保持一致

<property>
    <name>hive.metastore.uris</name>
    <value>修改為集群的thrift地址</value>
</property>

  修改mapred-site.xm,如沒有則添加並和集群保持一致

<property>
    <name>mapreduce.jobhistory.address</name>
    <value>修改為集群的jobhistory地址</value>
</property>
<property>
    <name>mapreduce.app-submission.cross-platform</name>
    <value>true</value>
 </property>

  修改yarn-site.xml對應屬性值,如沒有則添加並和集群保持一致

<property>
    <name>yarn.application.classpath</name>
 <value>$HADOOP_CLIENT_CONF_DIR,$HADOOP_CONF_DIR,$HADOOP_COMMON_HOME/*,$HADOOP_COMMON_HOME/lib/*,$HADOOP_HDFS_HOME/*,$HADOOP_HDFS_HOME/lib/*,$HADOOP_YARN_HOME/*,$HADOOP_YARN_HOME/lib/*</value>
</property>
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>clouderamanager.cdh5.test</value>
</property>
<property>
    <name>yarn.resourcemanager.address</name>
    <value>clouderamanager.cdh5.test:8032</value>
</property>
<property>
    <name>yarn.resourcemanager.admin.address</name>
    <value>clouderamanager.cdh5.test:8033</value>
</property>

修改config.properties添加如下屬性,注意我這里CDH5.4測試用,沒有開啟Kerberos認證

authentication.superuser.provider=NO_AUTH

如果開啟了Kerberos認證,則需要修改更多參數.

 

 四.新建Cluster連接並測試

  完成上述配置后,啟動Spoon.bat, 進入PDI開發界面.菜單欄中選擇Tools->Hadoop Distribution,然后選擇Cloudera CDH5.4並點擊ok,然后重啟PDI.  

  在左邊的View視圖下會看到Hadoop clusters然后右鍵新建Cluster,如下圖

  

  配置好對應的集群連接信息(可以參考shims下集群的*.xml配置文件),點擊"Test"進行測試,如下

  

 

  確保所有的結果都變為綠色則表示配置成功,如果有紅色肯定是連接信息和集群不一致.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM