Kettle與Hadoop(三)連接Hadoop

目錄

一、環境說明

二、連接Hadoop集羣

三、連接Hive

四、連接Impala

五、後續(建立MySQL數據庫連接)

參考:Use Hadoop with Pentaho

        Kettle可以與Hadoop協同工作。讓我們從簡單的開始,本文介紹如何配置Kettle訪問Hadoop集羣(HDFS、MapReduce、Zookeeper、Oozie等),以及Hive、Impala等數據庫組件。所有操作都以操作系統的root用戶執行。

一、環境說明

1. Hadoop

        已經安裝好4個節點的CDH 6.3.1,IP地址及主機名如下:
172.16.1.124 manager
172.16.1.125 node1
172.16.1.126 node2
172.16.1.127 node3

        啓動的Hadoop服務如圖1所示,所有服務都使用缺省端口。

圖1

2. Kettle

        已經在172.16.1.105安裝好PDI 8.3,安裝目錄爲/root/data-integration。爲了用主機名訪問Hadoop相關服務,在Kettle主機的/etc/hosts文件中添加了如下內容:

172.16.1.124 manager
172.16.1.125 node1
172.16.1.126 node2
172.16.1.127 node3

二、連接Hadoop集羣

1. 在Kettle中配置Hadoop客戶端文件

(1)在瀏覽器中登錄Cloudera Manager,選擇hive服務,點擊“操作”->“下載客戶端配置”。得到如圖2的文件。

圖2

(2)將上一步得到的Hadoop客戶端配置文件複製到Kettle的~/data-integration/plugins/pentaho-big-data-plugin/hadoop-configurations/cdh61/目錄下,覆蓋原來自帶的core-site.xml、hdfs-site.xml、hive-site.xml、yarn-site.xml、mapred-site.xml 5個文件。

2. 啓動spoon

/root/data-integration/spoon.sh

3. 在spoon中選擇Hadoop種類

        選擇主菜單“Tools” -> “Hadoop Distribution...”,在對話框中選擇“Cloudera CDH 6.1.0”,如圖3所示。

圖3

4. 重啓spoon

5. 在Spoon創建Hadoop clusters對象
(1)新建轉換
        主菜單 File -> New -> Transformation

(2)新建Hadoop集羣對象
        在工作區左側的樹的View標籤中,選擇 Hadoop clusters -> 右鍵New Cluster,對話框中輸入如圖4所示的屬性值。然後點擊“Test”按鈕,結果如圖5所示。除了Kafka因沒有在CDH中啓動服務導致連接失敗以外,其它均通過測試。最後點擊“OK”保存Hadoop集羣對象。

圖4

 

圖5

三、連接Hive

1. 新建數據庫連接對象
        在工作區左側的樹的View標籤中,選擇 Database Connections -> 右鍵New,對話框中輸入如圖6所示的屬性值。

圖6

        點擊“Test”按鈕,連接Hive成功如圖7所示。

圖7

        然後點擊“OK”保存數據庫連接對象。

2. 共享數據庫連接對象
        爲其它轉換或作業能夠使用數據庫連接對象,需要將它設置爲共享。選擇 Database Connections -> hive_cdh631 -> 右鍵Share,然後保存轉換。

四、連接Impala

1. 新建數據庫連接對象
        在工作區左側的樹的View標籤中,選擇 Database Connections -> 右鍵New,對話框中輸入如圖8所示的屬性值。

圖8

        點擊“Test”按鈕,連接Impala成功如圖9所示。

圖9

        然後點擊“OK”保存數據庫連接對象。

2. 共享數據庫連接對象
        爲其它轉換或作業能夠使用數據庫連接對象,需要將它設置爲共享。選擇 Database Connections -> impala_cdh631 -> 右鍵Share,然後保存轉換。

五、後續(建立MySQL數據庫連接)

        爲了給後面創建的轉換或作業使用,我們再定義一個普通的mysql數據庫連接對象。

1. 拷貝MySQL驅動jar文件
        這裏使用的是MySQL 5.6.14版本,需要將相應的驅動程序文件拷貝到Kettle安裝目錄的lib目錄下。

cp mysql-connector-java-5.1.38-bin.jar /root/data-integration/lib

之後重啓Spoon加載新增的驅動程序。

2. 新建數據庫連接對象
        在工作區左側的樹的View標籤中,選擇 Database Connections -> 右鍵New,對話框中輸入如圖10所示的屬性值。

圖10

        點擊“Test”按鈕,連接MySQL成功如圖11所示。

圖11

        然後點擊“OK”保存數據庫連接對象。

3. 共享數據庫連接對象
        爲其它轉換或作業能夠使用數據庫連接對象,需要將它設置爲共享。選擇 Database Connections -> mysql_node3 -> 右鍵Share,然後保存轉換。

        至此已經創建了一個Hadoop集羣對象和三個數據庫連接對象,如圖12所示。

圖12

        後面將在這些對象上進行一系列Kettle讀寫Hadoop組件的實驗。

參考:Use Hadoop with Pentaho

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