如何配置Kettle集羣運行環境

Kettle是一款開源的ETL工具,以其高效和可擴展性而聞名於業內。其高效的一個重要緣由就是其多線程和集羣功能。 Kettle的多線程採用的是一種流水線併發的機制,咱們在另外的文章中專門有介紹。這裏主要介紹的是kettle .


Kettle是一款開源的ETL工具,以其高效和可擴展性而聞名於業內。其高效的一個重要緣由就是其多線程和集羣功能。 linux

Kettle的多線程採用的是一種流水線併發的機制,咱們在另外的文章中專門有介紹。這裏主要介紹的是kettle的集羣。 web

   集羣容許轉換以及轉換中的步驟在多個服務器上併發執行。在使用kettle集羣時,首先須要定義的是Cluster schema。所謂的Cluster schema就是一系列的子服務器的集合。在一個集羣中,它包含一個主服務器(Master)和多個從屬服務器服務器(slave)。以下圖所示: 正則表達式


子服務器(Slave servers)容許你在遠程服務器上執行轉換。創建一個子服務器須要你在遠程服務器上創建一個叫作「Carte」的 web 服務器,該服務器能夠從Spoon(遠程或者集羣執行)或者轉換任務中接受輸入。 算法

在之後的描述中,若是咱們提到的是子服務器,則包括集羣中的主服務器和從屬服務器;不然咱們會以主服務器和從屬服務器來進行特別指定。 shell

  

選項 描述
服務器名稱
子服務器的名稱
主機名稱或IP地址
用做子服務器的機器的地址
端口號
與遠程服務通訊的端口號
用戶名
獲取遠程服務器的用戶名
密碼
獲取遠程服務器的密碼
是主服務器嗎
在轉換以集羣形式執行時,該子服務器將做爲

注意: 在集羣環境下執行轉化時,你必須有一個子服務器做爲主服務器(master server)而其他全部的子服務器都做從屬服務器(slave server)

 

選項 描述
代理服務器主機名
設置你要經過代理進行鏈接的主機名
代理服務器端口
設置與代理進行鏈接時所需的端口號
Ignore proxy for hosts: regexp|separated
指定哪些服務器不須要經過代理來進行鏈接。該選項支持你使用正則表達式來制定多個服務器,多個服務器之間以' | ' 字符來進行分割  


建立cluster schema

選項 描述
Schema 名稱
集羣schema的名稱
端口號

這裏定義的端口號是指從哪個端口號開始分配給子服務器。每個在子服務器中執行的步驟都要消耗一端口號。注意: 確保沒有別的網絡協議會使用你定義的範圍之類的端口,不然會引發問題 緩存


Sockets緩存大小
TCP內部緩存的大小
Sockets刷新間隔(rows)
TCP的內部緩存經過網絡徹底發送出去而且被清空時處理的行數
Sockets數據是否壓縮
若是該選項被選中,則全部的數據都會使用Gzip壓縮算法進行壓縮以減輕網絡傳輸量
Dynamic Cluster

動態集羣指的是在運行的時候才能獲知從屬服務器的信息。這種情形適用於主機能夠自動增長或者去除的情形,例如雲計算。 服務器

主服務器的設置不變,可是它能夠接受從屬服務器的註冊。一旦接受了某個從屬服務器的註冊,則每隔30秒去監視該從屬服務器是否還處於有效狀態 網絡


子服務器

這裏是一個要在集羣中使用的服務器列表。這個列表中包含一個主服務器和任意數目的從屬服務器。 多線程

在dynamic Cluster的狀況下,只須要選擇主服務器便可 併發



 


 定義轉換

    定義完了 cluster schema 後,下一步就是定義在集羣環境下執行的轉換。咱們這裏展示的只是一個最簡單的例子,徹底是爲了演示而用。現實狀況中的集羣有可能很是複雜。

首先你像平時同樣建立轉換,以hop鏈接連個兩個步驟。而後你指定第二個步驟將在集羣下執行


而後選擇須要使用的集羣。轉換如圖同樣顯示在GUI中。

注意 Cx4顯示這個步驟將在集羣中運行,而這個集羣中有4個從屬服務器。假設咱們將計算結果再次存入到數據表中

    這個轉換雖然定義了集羣,可是咱們一樣可讓它在單機環境下執行,並且能夠獲得相同的結果。這意味着你可使用普通的本地模式來測試它。


執行轉換

    要想以集羣方式來運行轉換或者做業,首先須要啓動在Cluster  schema中定義的主服務器和從屬服務器,而後再運行轉換或者做業。

啓動子服務器

     子服務器實際上是一個嵌入式的名爲 Carte web server。要進行集羣轉換,首先須要啓動cluster schema中的子服務器


腳本啓動

      kettle 提供了 carte.bat carte.sh linux )批處理腳原本啓動子服務器,這種啓動方式分爲兩種



使用主機號和端口號


Carte 127.0.0.1 8080
Carte 192.168.1.221 8081


使用配置文件

Carte  /foo/bar/carte-config.xml
Carte http://www.example.com/carte-config.xml
相關文章
相關標籤/搜索