加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱制作网_沈阳站长网 (https://www.024zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

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

发布时间:2022-10-14 12:49:06 所属栏目:Linux 来源:
导读:  KETTLE完全分布式集群搭建和示例

  一、Kettle的集群原理

  完全分布式即是在该集群环境中所有的kettle服务都是部署在不同的机器上,互相之间没有影响。此处以一个真实环境为例,来介绍kettle完全分
  KETTLE完全分布式集群搭建和示例
 
  一、Kettle的集群原理
 
  完全分布式即是在该集群环境中所有的kettle服务都是部署在不同的机器上,互相之间没有影响。此处以一个真实环境为例,来介绍kettle完全分布式环境的开发使用。生产环境中kettle服务器都是部署在linux服务器上,在windows本地开发好kettle任务,然后在linux集群环境上运行。
 
  二、完全分布式集群搭建
 
  1. 环境规划
 
  该环境模拟一台主服务器,两台从服务器的方式。
 
  名称、IP端口、说明:
 
  master: 192.168.7.2348080主服务器
 
  Slave1: 192.168.7.214:8081 从服务器1
 
  Slave2: 192.168.7.215:8082 从服务器2
 
  2. 环境准备
 
  首先需要先准备三台linux服务器,并且分别在三台机器上安装好jdk和kettle。
 
  (1) JDK安装
 
  此处不做详细介绍集群linux,可参考网上安装文档。
 
  (2) Kettle安装
 
  创建一个目,将下载好的kettle解压后放在该文件夹下。
 
  unzip pdi-ce-8.2.0.0-342.zip
 
  cd data-integration
 
  (3) 测试安装是否成功
 
  在kettle的data-integration目录中执行kitchen.sh文件,若出现帮助信息,证明安装成功
 
  ./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 停止
 

(编辑:我爱制作网_沈阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!