【转:https://blog.csdn.net/lixuemei504/article/details/38271145】
目录
关于kettle集群在单机上的测试可参考文档:http://www.cnblogs.com/inuyasha1027/p/3259402.html。这里主要介绍服务器分布在不同主机上的情况。
一、Kettle的部署
不管是linux下还是windows下部署kettle前提是机器上都已安装JDK。其次把kettle的安装文件解压后即可。Windows下启动spoon.bat;linux下启动spoon.sh。
本实验使用的服务器:
127.0.0.1 lixuemei-PC
10.2.2.11 DBM011
10.4.2.12 DBM012
10.2.2.10 DBM010
三、carte相关配置文件说明
本实验开启的四个carte服务,其中一台为Master另外三台为Slave,来实现在Kettle的Spoon中对mysql数据库中数据表读取后,以集群方式来执行排序的过程。
Carte的配置文件所在路径:F:\BDE\kettle\data-integration\pwd
(1)主服务器(carte-config-master-8080.xml)的配置内容为:
<slaveserver>
<name>master1</name>
<hostname>lixuemei-PC</hostname>
<port>8080</port>
<master>Y</master>
</slaveserver>
其中<hostname>lixuemei-PC</hostname>表示以本机作为主服务器。在本机的C:\Windows\System32\drivers\etc\hosts 文件中添加内容:127.0.0.1 lixuemei-PC。相应的其他三个服务器上的hosts文件中也添加内容:10.200.4.163lixuemei-PC。
(2)子服务器(carte-config-8082.xml)的配置内容为:
<masters>
<slaveserver>
<name>master1</name>
<hostname>lixuemei-PC</hostname>
<port>8080</port>
<username>cluster</username>
<password>cluster</password>
<master>Y</master>
</slaveserver>
</masters>
<report_to_masters>Y</report_to_masters>
<slaveserver>
<name>slave2-8082</name>
<hostname>10.2.2.11</hostname>
<port>8082</port>
<username>cluster</username>
<password>cluster</password>
<master>N</master>
</slaveserver>
其中<hostname>10.2.2.11</hostname>为子服务器的ip。
同样方式设定其他自服务器(carte-config-8083.xml、carte-config-8085.xml)的配置内容。把更改好的windows下的pwd文件夹分别覆盖其他三个服务器上的相应文件夹。
四、carte服务开启
对于Windows运行:Carte.batIP address port
对于Linux运行:carte.shIP address port
图1所示启动windows上的主节点,并已启动成功。
图1 Master1
相似地,图2—图4在linux上启动其他三个子节点:
图2 Slave1-8085
图3 Slave2-8082
图4 Slave3-8083
五、在kettle图形界面中对集群进行设定
特别需要注意的是:服务器的名称一定要与pwd文件夹下面的配置文件<name>属性所对应的值是一致的。所新建的子服务器一定要在pwd文件夹下面要有对应的配置文件才可以。
图5所示配置好的主节点,需要在“是服务器吗”选项勾选。
图5 主节点配置
图6所示配置好的三个配置好的子节点,在"是主服务器吗?"这个选项中,因为它不是主服务器,所以不对其进行勾选。
图6 子节点配置
下图是将各个子服务器导入到集群中,命名为linux_test_cluster:
图7 kettle集群schemas设定
六、基于kettle集群模式对数据库表进行排序
点击【主对象树】下的【DB连接】进行创建数据库连接。
图8 数据库连接
在【核心对象】中的【输入】中把【表输入】拖到主窗口。双击工作区中的【表输入】图表就可以写对应的查询语句:
图9 创建表输入
在【核心对象】中的【转换】中把【排序记录】拖到主窗口。双击工作表中的【排序记录】,设置需要排序的字段,具体如下图:
图10 排序记录设定
如果要实现的是集群并发的方式来对数据进行排序,需要右键单击【排序记录】后选择【集群】
图11 选择集群
确定后【排序记录】成如下情形:
图12 选择集群后结果
对于输出,我们输出到site数据库的kettle_rank_site_copy表:
图13 创建表输出
执行转换时选择【集群方式执行】:
图14 集群方式执行
图15 Master1输出
图16 slave1-8085输出
图17 slave2-8082输出
图18 slave3-8083输出
相关推荐
kettle集群(cluster)在多个服务器上并发执行是指通过将kettle部署在多个服务器上,实现分布式数据处理和排序的目的。这种方法可以大大提高数据处理的效率和速度,特别是在大数据量的情况下。 以下是kettle集群在...
集群设置是Kettle实现高可用性和扩展性的重要手段,允许在多台服务器上并行处理数据,提高处理效率。本文将详细解析Kettle的两种集群模式:固定数量子服务器的集群和动态集群。 ### 固定数量子服务器的集群 **使用...
集群技术是Kettle集群模式的核心,它可以水平扩展数据转换,使它们能在多台服务器上并发执行,从而分担工作负载。一个集群配置(schema)由一个主服务器和多个子服务器组成,主服务器负责协调整个集群的操作。在...
在大型企业环境中,为了提高处理能力和可扩展性,Kettle可能需要配置成集群模式。在本场景中,我们关注的是如何配置Kettle以连接Oracle RAC(Real Application Clusters)集群。 Oracle RAC是一种高可用性和可伸缩...
本文将详细介绍如何在多台服务器上搭建并使用Kettle集群。 **环境准备:** 假设我们有三台服务器: - 服务器A:IP地址为192.168.1.11,作为主服务器。 - 服务器B:IP地址为192.168.1.12,作为子服务器。 - 服务器...
2. **解压与重命名**:在目标服务器上执行以下命令,解压并重命名为`kettle`目录。 ```bash tar -zxvf dist.tar.gz mv dist kettle ``` #### 四、集群配置 Kettle集群的配置主要涉及两个方面:主节点配置和从...
Linux Centos 环境 Kettle 部署与定时作业执行是指在 Linux Centos 环境中部署 Kettle 工具,并配置定时作业执行。下面将详细介绍 Kettle 部署和定时作业执行的步骤。 一、java 安装和配置 在部署 Kettle 之前,...
其中,**Kettle集群**允许用户在一个或多个服务器上并行执行数据转换任务,显著提升了处理速度和效率。 #### 二、设计集群架构 ##### 2.1 定义Clusterschema Clusterschema是Kettle集群的核心组成部分,它定义了...
Kettle动态集群是一种分布式计算架构,它允许将任务分配给多个节点执行,从而提高处理效率。这种集群模式支持节点的动态加入与退出,增强了系统的灵活性与可扩展性。 #### 三、动态集群配置步骤 ##### 1. 准备工作...
为了实现Kettle集群,我们需要在至少三台服务器上分别安装Kettle软件,并配置相应的参数,这三台服务器分别为Master服务器和两个从服务器(Slave)。 - **Master服务器**:192.168.1.240 - **Slave服务器1**:192....
【Kettle在Linux的安装使用...总之,Kettle在Linux上的安装和使用涉及多个步骤,包括安装Java、配置环境变量、拷贝JAR文件以及转换和运行工作流。理解并遵循这些步骤,可以在Linux环境中有效地使用Kettle进行数据集成。
Kettle集群主要由一个主Carte服务器和多个从Carte服务器组成,其结构类似于master-slave模式。主Carte服务器负责接收任务请求并将任务分配给各个从服务器执行,而从服务器完成任务后会将结果返回给主服务器进行汇总...
【Kettle012】Kettle访问FTP服务器文件并处理数据至PostgreSQL是关于使用Kettle(也称为Pentaho Data Integration,简称PDI)工具进行数据集成的一个具体实例。Kettle是一个开源的数据集成工具,它允许用户通过图形...
在Kettle中,通过Carte服务器,可以实现远程执行作业(Job)和转换(Transformation),提高工作效率并方便管理。 远程执行Kettle作业的核心在于Carte,它是Kettle的轻量级HTTP服务器,可以接收来自客户端的Kettle...