码迷,mamicode.com
首页 > 其他好文 > 详细

KETTLE完全分布式集群搭建和示例

时间:2020-05-29 19:32:14      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:注意   相关   依据   运行   linux服务器   节点   部署   介绍   etc   

一、Kettle的集群原理
完全分布式即是在该集群环境中所有的kettle服务都是部署在不同的机器上,互相之间没有影响。此处以一个真实环境为例,来介绍kettle完全分布式环境的开发使用。生产环境中kettle服务器都是部署在linux服务器上,在windows本地开发好kettle任务,然后在linux集群环境上运行。
二、完全分布式集群搭建
1.环境规划
该环境模拟一台主服务器,两台从服务器的方式。
技术图片
2.环境准备
首先需要先准备三台linux服务器,并且分别在三台机器上安装好jdk和kettle。
(1)JDK安装
此处不做详细介绍,可参考网上安装文档。
(2)Kettle安装
创建一个目,将下载好的kettle解压后放在该文件夹下。
技术图片
测试安装是否成功
在kettle的data-integration目录中执行kitchen.sh文件,若出现帮助信息,证明安装成功
技术图片
技术图片
3.环境配置
和windows环境一样修改kettle配置文件,打开kettle的安装目录,进入到data-integration->pwd目录,找到carte-config-master-8080.xml文件。该文件主要是进行master主机配置,name、hostname、port依次配置名称、主机IP和端口号(如果已经使用可以修改)。
注意:username和password并不是指主机的登陆账号和密码,是集群的账号密码,该账号密码是集群连接的依据,账号密码是通过混淆的方式保存在pwd文件,kettle默认的账号密码是cluster/cluster,所以,在本机开发的时候,为了方便,账号密码都不用修改,都使用cluster即可。
技术图片
carte-config-8081.xml文件是从服务器1的配置文件。打开该文件,如下图。其中masters中,name、hostname、port需要和carte-config-master-8080.xml中完全一致。然后,同样修改carte-config-8082.xml文件。
技术图片
至此配置完毕,可以启动集群环境了。
4.启动集群
进入到data-integration目录下,运行./carte.sh 192.168.7.234 8080,启动master节点。
技术图片
出现以下日志代表启动成功。
技术图片
然后,切换到slave1上,进入到data-integration目录下,运行./carte.sh 192.168.7.214 8081,则启动8081端口的子服务器。切换到slave2上,重复动作,启动8082端口的子服务器。
技术图片

技术图片

在启动了三台集群服务器之后,在浏览器中输入192.168.7.234:8080,输入cluster/cluster,进入到页面如下:
技术图片
表示主节点已经启动完毕。输入192.168.7.214:8081及192.168.7.215:8082查看子服务器状态。到此,集群部署完毕。
三、完全分布式集群下示例
1.需求说明
读取源数据表中数据到目标数据表中,具体转换过程如下所示:
技术图片

2.启动环境
首先按上面步骤启动集群环境,然后双击双击 Spoon.bat 启动 kettle图形界面工具。
3.环境配置
1)在主对象树中新建子服务器,配置分别如下图
技术图片
技术图片
主服务器配置如上所示,记得勾选“是主服务器”。
技术图片
从服务器slave1配置如上所示,slave2也按照上面配置,记得修改端口和名称。
2)在主对象树中,在“kettle集群schmas”中右键,新建,点击“选择子服务器”,添加刚才新建的子服务器,然后确定。
技术图片
4.设置运行参数
1)在步骤上右击,选择集群,然后会发现排序纪录多出”CX2”,表示有2个子服务器来执行。在一个三个子服务器的集群中,主服务器负责任务分发、结果收集,转换任务由从服务器执行,故只有两个节点执行
技术图片
2)在主对象树中,在集群-“Run Configurations”中右键,新建,新增一个参数配置。
技术图片
按如上所示进行配置,选择“Settings”-“Slave server”,选择“Clustered”表示采用集群方式运行,还可以选择“master”、“slave1”、“slave2”,则表示在相应的远程服务器上运行。
5.运行用例
点击“运行”,运行配置选择刚刚创建的参数-“伪分布式集群”,点击“启动”
技术图片
观察slave1和slave2后台日志,发现两个从服务器都在执行转换,主服务器没有日志,因为它只负责分发。
(1)主服务器234上面日志信息,汇总记录总的日志信息,总共读入5条数据,输出5条数据。如下所示:
技术图片
(2)子服务器214日志信息,该服务器总共读入3条数据,输出3条数据,如下所示:
技术图片
(3)子服务器215日志信息,该服务器总共读入2条数据,输出2条数据,如下所示:
技术图片
6.关闭iptables服务和防火墙
如果遇到集群服务器连不上的问题,需要检查一下是否是防火墙需要关闭,centos7使用iptables,可以通过命令/etc/init.d/iptables stop 停止
注意:想要学习通过kettle工具实现hive、hbase数据库抽取输出,和其他更多关于kettle的知识,请扫描以下二维码或者链接获取学习资料。
链接地址:
https://edu.51cto.com/sd/e80d0
二维码地址:
技术图片
同时也欢迎各位看官关注本人公众号,本人将相关资料和学习视频上传到上面,供大家一起学习讨论:
技术图片

KETTLE完全分布式集群搭建和示例

标签:注意   相关   依据   运行   linux服务器   节点   部署   介绍   etc   

原文地址:https://blog.51cto.com/8985332/2499596

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!