说明:
本文档基于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目录,里面有4个XML文件,分别是子服务器的配置文件和密码文件:
Carte-config-master-8080.xml是主服务器的配置文件。编辑该文件,根据情况修改其中的namehostnameportmaster等属性。Name是服务器的名称,hostname是主机名或者IP,port是端口号,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-8082slave3-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:
可以看到各个子服务器的执行情况。
至此,集群搭建成功。