KETTLE集群搭建

Posted on Posted in 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

可以看到各个子服务器的执行情况。

至此,集群搭建成功。

 

三、问题记录。