【方案】kettle job和trans从单机迁移到cluster集群环境

背景

原先开发的kettle job 和 trans都是在单机执行的,kettle搭建集群环境之后,原先单机的job和trans需要迁移到集群环境。

kettle版本9.0

kettle资源库在mysql数据库。

集群为1个master节点,3个slave节点。

 

 

解决方案

从单机迁移到集群,job和trans都需要修改,其中job需要右键trans编辑,run configuration 需要设置为集群。trans中需要在集群执行的步骤,右键设置集群执行。有两个解决方案:

1、蠢办法,如果原先开发的job和trans数量不大,一个个手工改一遍就好。

2、写脚本,批量修改。由于本项目kettle资源库在mysql,那么job和trans都存储在mysql中,找到对应的表,update为集群不就好了。

job和trans从单机到集群的变化

1、job中相关的trans的run configuration 变为集群

 

2、trans中在集群执行的步骤左上角会有标记

3、carte网页端,trans名字带有括号后缀

 

研究kettle在数据库的配置表后发现

1、R_JOBENTRY_ATTRIBUTE、R_JOB_ATTRIBUTE表记录了job属性

2、R_STEP_ATTRIBUTE表记录了trans的属性

具体操作

1、R_JOBENTRY_ATTRIBUTE表。单机时code 配置项cluster 属性为‘N’,需要更改为‘Y’;
2、R_JOBENTRY_ATTRIBUTE表。单机时code配置项slave_server_name属性为NULL值,需要更改为’Clustered’;
3、R_JOBENTRY_ATTRIBUTE表。单机时code没有run_configuration配置项,需要新增,属性为’remote-cluster’(根据实际情况自定义)。

单机

集群

 

4、R_JOB_ATTRIBUTE表新增job的配置项,以下两行,单机没有,集群有,需要新增。可以先手工修改一个job和trans,再复制这两个配置项。

 

5、R_STEP_ATTRIBUTE表,code配置项cluster_schema的属性值属性为NULL,需要更改为’kettle-cluster’(根据实际情况自定义)

以上用脚本实现即可。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值