- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Kettle中的集群
目录
Kettle中的集群 1
1 设计 2
1.1 定义Cluster schema 2
1.2 定义转换 5
2 执行转换 7
2.1 启动子服务器 7
2.1.1 脚本启动 7
2.1.2 程序启动 9
2.1.3 子服务器内幕 10
2.2 运行转换 12
2.2.1 在spoon中运行 12
2.2.2 编程运行 13
2.2.3 运行内幕 13
Kettle是一款开源的ETL工具,以其高效和可扩展性而闻名于业内。其高效的一个重要原因就是其多线程和集群功能。
Kettle的多线程采用的是一种流水线并发的机制,我们在另外的文章中专门有介绍。这里主要介绍的是kettle的集群。
集群允许转换以及转换中的步骤在多个服务器上并发执行。在使用kettle集群时,首先需要定义的是Cluster schema。所谓的Cluster schema就是一系列的子服务器的集合。在一个集群中,它包含一个主服务器(Master)和多个从属服务器服务器(slave)。如下图所示。
子服务器(Slave servers)允许你在远程服务器上执行转换。建立一个子服务器需要你在远程服务器上建立一个叫做“Carte”的 web 服务器,该服务器可以从Spoon(远程或者集群执行)或者转换任务中接受输入。
在以后的描述中,如果我们提到的是子服务器,则包括集群中的主服务器和从属服务器;否则我们会以主服务器和从属服务器来进行特别指定。
设计
要让转换是以集群方式执行,首先需要在Spoon中进行图形化的设计工作。定义一个以集群方式运行的转换,主要包括定义cluster schema和定义转换两个步骤。
定义Cluster schema
创建子服务器
服务tab 选项
选项 描述 服务器名称 子服务器的名称 主机名称或IP地址 用作子服务器的机器的地址 端口号 与远程服务通信的端口号 用户名 获取远程服务器的用户名 密码 获取远程服务器的密码 是主服务器吗 在转换以集群形式执行时,该子服务器将作为主服务器 注意: 在集群环境下执行转化时,你必须有一个子服务器作为主服务器(master server)而其余所有的子服务器都作为从属服务器(slave)
Proxy tab options
选项 描述 代理服务器主机名 设置你要通过代理进行连接的主机名 代理服务器端口 设置与代理进行连接时所需的端口号 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中定义的主服务器和从
文档评论(0)