1. 程式人生 > >KETTLE集群搭建

KETTLE集群搭建

com 需要 處理 系統 log username ges conf bat

KETTLE集群搭建

說明:

本文檔基於kettle5.4

一、集群的原理與優缺點

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

技術分享

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

至此,集群搭建成功。

三、問題記錄。

1.註意:這裏配置的是本地集群。如果是異機集群,需要把.kettle下的repositories.xml復制到從機的實例上。

來自為知筆記(Wiz)

KETTLE集群搭建