KETTLE 8.2 集群搭建实践
KETTLE 8.2 集群搭建实践
一.执行方式及说明
(1)本地模式(pentaho -> local)
本地执行部署简单,网络要求低,但是这种方式不利于监控、调度和资源分配。
(2)远程模式(pentaho -> slave server -> 指定节点服务器)
与本地模式相反
(3)集群模式(pentaho -> slave server -> clustered)
前置要求:转换的某一步骤选择了集群执行
优点
①多服务器运行,加快处理速度,对于大数据量的操作更明显
②防单点失败,一台服务器故障后其它服务器还可以运行
缺点
①采用主从结构,不具备自动切换主从的功能。所以一旦主节点宕机,整个系统不可用
②对网络要求高,节点之间需要不断的传输数据
③需要更多的服务器,而且主节点没有处理能力
适用场景
①需求kettle能时刻保持正常运行的场景
②大批量处理数据的场景
(4)spark(未实验)
二.集群安装部署
集群说明:
Kettle通过Carte建立集群,Carte是一个轻量级的web服务,允许远程请求HTTP进行监控、启动、停止在Carte服务上运行的job和trans。运行Carte的服务器在kettle术语里称为slave server。
1.参数配置
master配置(data-integration/pwd/carte-config-master-8080.xml)
<slave_config> <slaveserver> <name>master1</name> <hostname>192.168.173.201</hostname> <port>8080</port> <master>Y</master> <username>cluster</username> <password>cluster</password> </slaveserver> </slave_config>
slave配置(data-integration/pwd/carte-config-8081.xml)
<slave_config> <masters> <slaveserver> <name>master1</name> <hostname>192.168.2.1</hostname> <port>8080</port> <username>cluster</username> <password>cluster</password> <master>Y</master> </slaveserver> </masters> <report_to_masters>Y</report_to_masters> <slaveserver> <name>slave1-8081</name> <hostname>192.168.2.2</hostname> <port>8081</port> <username>cluster</username> <password>cluster</password> <master>N</master> </slaveserver> </slave_config>
2.准备3台服务器,将pdi拷贝至各服务器,启动(可使用Encr -carte password 对明文密码加密)
Carte.bat ./pwd/carte-config-master-8080.xml 或 Carte 192.168.2.1 8080 (不读取配置文件,密码为kettle.pwd内的默认密码) Carte.bat ./pwd/carte-config-8081.xml 或 Carte 192.168.2.2 8081 (不读取配置文件,密码为kettle.pwd内的默认密码)
3.将转换放置集群执行(作业本身不能放到集群执行,只能远程执行,但作业引用的转换可以设置集群执行)
转换 -> 主对象树 -> 子服务器 -> 新建 -> 根据上面配置文件配置的内容配置
转换 -> 主对象树 -> kettle集群schemas -> 新建 -> 选择子服务器 -> 全选全部添加进来 -> 设置schema名称 -> 保存
转换 -> 主对象树 -> Run Configuration -> New… -> pentaho -> slave server -> clustered
转换 -> 模型步骤组件 -> 右键 -> 集群… -> 选择刚配置的集群
启动 -> 选择刚配置的启动模式