1. 程式人生 > >kettle工具-叢集模式搭建過程

kettle工具-叢集模式搭建過程

一、叢集的原理與優缺點

1.1叢集的原理

         Kettle叢集是由一個主carte伺服器和多個從carte伺服器組成的,類似於master-slave結構,不同的是’master’處理具體任務,只負責任務的分發和收集執行結果。

Master carte結點收到請求後,把任務分成多個部分交給slave carte執行,slave執行完畢後把結果交給mater 進行彙總,再由mster返回結果。

1.2叢集的優點

         和其它系統的叢集一樣,有以下優點:

         1)多伺服器執行,加快處理速度,對於大資料量的操作更明顯

         2)防單點失敗,一臺伺服器故障後其它伺服器還可以執行

1.3叢集的缺點

         1)採用主從結構,不具備自動切換主從的功能。所以一旦主節點宕機,整個系統不可用

         2)對網路要求高,節點之間需要不斷的傳輸資料

         3)需要更多的伺服器,而且主節點沒有處理能力

1.4 適用場景

         適合於:

         1)需求kettle能時刻保持正常執行的場景

         2)大批量處理資料的場景

二、叢集搭建

2.1 配置子伺服器

2.1.1 配置主伺服器

開啟ketlle目錄,找到pwd目錄,裡面有4XML檔案,分別是子伺服器的配置檔案和密碼檔案:

Carte-config-master-8080.xml是主伺服器的配置檔案。編輯該檔案,根據情況修改其中的

name\hostname\port\master等屬性。Name是伺服器的名稱,hostname是主機名或者IPport是埠號,Master表明是否是主伺服器。此外,加上兩行:

<username>cluster</username>

<password>cluster</password>

<master>Y<mater>之下

         接著啟動主伺服器,在kettle目錄中開啟cmd視窗,執行carte localhost 8080:

         至此,主伺服器配置完成。

2.1.2 配置從伺服器

         剩下的三個為從伺服器的配置檔案。以

carte-config-8081.xml為例。開啟該檔案:

發現該檔案有<master><slaveserver>兩層標籤,<master>標籤表示該伺服器要連線的主伺服器的資訊,保持與carte-config-master.xml一致。<slaveserver>標籤是從伺服器的資訊,按照需要更改即可。

         然後啟動slave1-8081從伺服器:

         按照同樣的方法,配置slave2-8082\slave3-8083並啟動。(本實驗只配置一主兩從)

2.2 建立叢集

2.2.1 spoon中建立子伺服器。

         開啟spoon.bat,新建一個轉換。選擇主物件樹-子伺服器,右鍵新鍵子伺服器:

xml中的資訊複製過來,保證與xml中的資訊一模一樣。按照這種檔案配置master slave1-8081 slave2-8082

2.2.2 建立叢集

         在主物件樹中選擇kettle叢集schemas,填寫schema名稱,埠、sokects快取大小、sockets重新整理時間間隔、socketts資料是否壓縮。在右邊點選選擇子伺服器,選擇需要的子伺服器。

Schema名稱即叢集的名稱。

埠即叢集對外服務的埠.

sockets快取大小:sockets快取

Sockets重新整理時間間隔:達到多少行記錄時重新整理到子伺服器。

Sockets資料是否壓縮:如果網路狀況差,則建議選擇。網路良好時不用選擇。

2.3 執行轉換

         配置完集群后,選擇轉換中的執步驟排序記錄,右鍵該步驟,選擇叢集,選擇剛才配置的叢集。

         選擇然後會發現排序紀錄多出”CX2”,表示有2個子伺服器來執行。在一個三個子伺服器的叢集中,主伺服器負責任務分發、結果收集,轉換任務由從伺服器執行,故只有兩個節點執行。

         執行該轉換:

         在命令臺中,主伺服器:

         從伺服器1:

         從伺服器2

可以看到各個子伺服器的執行情況。

         至此,叢集搭建成功。