博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何配置Kettle集群运行环境
阅读量:6856 次
发布时间:2019-06-26

本文共 2076 字,大约阅读时间需要 6 分钟。

hot3.png

Kettle是一款开源的ETL工具,以其高效和可扩展性而闻名于业内。其高效的一个重要原因就是其多线程和集群功能。 Kettle的多线程采用的是一种流水线并发的机制,我们在另外的文章中专门有介绍。这里主要介绍的是kettle .

Kettle是一款开源的ETL工具,以其高效和可扩展性而闻名于业内。其高效的一个重要原因就是其多线程和集群功能。

Kettle的多线程采用的是一种流水线并发的机制,我们在另外的文章中专门有介绍。这里主要介绍的是kettle的集群。

   集群允许转换以及转换中的步骤在多个服务器上并发执行。在使用kettle集群时,首先需要定义的是Cluster schema。所谓的Cluster schema就是一系列的子服务器的集合。在一个集群中,它包含一个主服务器(Master)和多个从属服务器服务器(slave)。如下图所示:

子服务器(Slave servers)允许你在远程服务器上执行转换。建立一个子服务器需要你在远程服务器上建立一个叫做“Carte”的 web 服务器,该服务器可以从Spoon(远程或者集群执行)或者转换任务中接受输入。

在以后的描述中,如果我们提到的是子服务器,则包括集群中的主服务器和从属服务器;否则我们会以主服务器和从属服务器来进行特别指定。

  

选项 描述
服务器名称
子服务器的名称
主机名称或IP地址
用作子服务器的机器的地址
端口号
与远程服务通信的端口号
用户名
获取远程服务器的用户名
密码
获取远程服务器的密码
是主服务器吗
在转换以集群形式执行时,该子服务器将作为
注意: 在集群环境下执行转化时,你必须有一个子服务器作为主服务器(master server)而其余所有的子服务器都作从属服务器(slave server)

 

选项 描述
代理服务器主机名
设置你要通过代理进行连接的主机名
代理服务器端口
设置与代理进行连接时所需的端口号
Ignore proxy for hosts: regexp|separated
指定哪些服务器不需要通过代理来进行连接。该选项支持你使用正则表达式来制定多个服务器,多个服务器之间以' | ' 字符来进行分割  

创建cluster schema

选项 描述
Schema 名称
集群schema的名称
端口号

这里定义的端口号是指从哪一个端口号开始分配给子服务器。每一个在子服务器中执行的步骤都要消耗一端口号。注意: 确保没有别的网络协议会使用你定义的范围之类的端口,否则会引起问题

Sockets缓存大小
TCP内部缓存的大小
Sockets刷新间隔(rows)
TCP的内部缓存通过网络完全发送出去并且被清空时处理的行数
Sockets数据是否压缩
如果该选项被选中,则所有的数据都会使用Gzip压缩算法进行压缩以减轻网络传输量
Dynamic Cluster

动态集群指的是在运行的时候才能获知从属服务器的信息。这种情形适用于主机可以自动增加或者去除的情形,例如云计算。

主服务器的设置不变,但是它可以接受从属服务器的注册。一旦接受了某个从属服务器的注册,则每隔30秒去监视该从属服务器是否还处于有效状态

子服务器

这里是一个要在集群中使用的服务器列表。这个列表中包含一个主服务器和任意数目的从属服务器。

在dynamic Cluster的情况下,只需要选择主服务器即可

 

 定义转换

    定义完了
cluster schema
后,下一步就是定义在集群环境下执行的转换。我们这里展现的只是一个最简单的例子,完全是为了演示而用。现实情况中的集群有可能非常复杂。

首先你像平时一样创建转换,以hop连接连个两个步骤。然后你指定第二个步骤将在集群下执行

然后选择需要使用的集群。转换如图一样显示在GUI中。

注意 Cx4显示这个步骤将在集群中运行,而这个集群中有4个从属服务器。假设我们将计算结果再次存入到数据表中

    这个转换虽然定义了集群,但是我们同样可以让它在单机环境下执行,而且可以得到相同的结果。这意味着你可以使用普通的本地模式来测试它。

执行转换

    要想以集群方式来运行转换或者作业,首先需要启动在Cluster  schema中定义的主服务器和从属服务器,然后再运行转换或者作业。

启动子服务器

    
子服务器其实是一个嵌入式的名为
Carte
小web server。要进行集群转换,首先需要启动cluster schema中的子服务器

脚本启动

    
 kettle
提供了
carte.bat
carte.sh
linux
)批处理脚本来启动子服务器,这种启动方式分为两种

使用主机号和端口号

Carte 127.0.0.1 8080Carte 192.168.1.221 8081

使用配置文件

Carte  /foo/bar/carte-config.xmlCarte http://www.example.com/carte-config.xml

转载于:https://my.oschina.net/aiguozhe/blog/117802

你可能感兴趣的文章
Dubbo笔记(二)
查看>>
分布式系统一致性(ACID、CAP、BASE、二段提交、三段提交、TCC、幂等性)原理详解...
查看>>
k8s拾遗 - Secret
查看>>
Android SparseArray 原理解析
查看>>
PHP类的定义
查看>>
Composer 中国镜像地址配置
查看>>
比特币暴跌后的连锁反应
查看>>
组件开发实战-组件分类与组件设计原则
查看>>
Python爬虫入门教程 62-100 30岁了,想找点文献提高自己,还被反爬了,Python搞起,反爬第2篇...
查看>>
第80节:Java中的MVC设计模式
查看>>
区块链100讲:以实例形式深入浅出讲透BANCOR算法
查看>>
Java并发编程 深入剖析volatile关键字
查看>>
Vue基础
查看>>
Flutter(一)之Flutter的的简单入门分析
查看>>
【Vue源码学习】Virtual Dom 原理解析
查看>>
js 中有哪些拷贝的方式
查看>>
k8s简单了解
查看>>
Quartz学习-通过binlog分析Quartz启动及集群的Failover
查看>>
当下流行的UI框架
查看>>
Python从零开始系列连载(21)——Python特色数据类型(元组)(下)
查看>>