Kettle版本:8.3
集群服务器环境:
master节点:win10
slave节点:CentOS 6.8/CentOS 7.4
服务器个数:4
一、 carter集群搭建
1. 所有服务器安装JDK,我的版本是1.8.0.31
2. 所有服务器安装Kettle
3. 配置文件:
1)集群配置文件:
Kettle安装目录下,pwd文件夹:
a. carte-config-master-XXXX.xml 此处配置master节点信息。hostname配置计算机名或者IP,password如果需要修改需要先调用Encr.bat或者encr.sh混淆,然后修改kettle.pwd文件,具体不做赘述。如下所示:
b. carte-config-XXXX.xml 此类文件配置slave节点信息。每个slave节点一个。如下所示:
c. 系统字符集与spoon字符集统一配置为utf-8。上述a、b配置完成理论上已经可以启动,但经过测试发现出现中文乱码。解决方式如下:
各节点系统字符集设置为utf-8。
windows设置方式:win+r -> regedit ->HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Command Processor -> 新建字符串变量:Autorun,值:@chcp 65001>nul
Linux :没改。。自行百度吧
Kettle Spoon设置方式:编辑Spoon.bat ->下图位置 添加 "-Dfile.encoding=UTF-8" (包含引号)
作业里面的数据库连接字符集最好也设置一下吧。
d. kettle安装目录下,新建static文件夹。放入附件中解压的文件夹。此附件是为了解决carte web中样式无法加载的问题,不加附件内容,将导致web页面图片边框等样式无法加载。(丑是真的丑...)
----------------------------------------------------------------------- 配置到此结束 -----------------------------------------------------------------------------------
2. 启动集群
1) master节点执行 Carte.bat pwd\carte-config-master-XXXX.xml 。出现“创建 web 服务监听器 @ 地址: XXXX” 表示成功
2) 各slave节点执行 carte.sh pwd/carte-config-XXXX.xml。出现“创建 web 服务监听器 @ 地址: XXXX”或者 “Created listener for webserver @ address : XXXX” 表示成功。注意,每个节点只执行自己对应的xml就好。
启动成功后web页面输入ip:端口号即可登陆查看。
----------------------------------------------------------------------- 启动集群到此结束 -------------------------------------------------------------------------------
3. 执行转换
1)图形化界面配置集群:
a. 转换页 -> 主对象树 -> 子服务器 ->右键新建 -> 配置各节点信息。master节点勾选“是主服务器吗?”选项。如下:
b. 转换页 -> 主对象树 -> Kettle集群schemas ->右键新建 -> 新建集群。如下:
c. 转换页 -> 主对象树 ->Run Configurations ->右键新建 -> 新建运行环境。注意选择Clustered。如下:
2) 以上完成,转换已经可以执行。如下:
4. 执行作业
1) 需要以集群执行的转换需要配置Options,如下:
2) 根据目前的测试,作业无法以集群执行。启动不成功,也没有错误。但可以设置为以集群的某个节点执行。如下:
3) 作业可用命令行方式在集群执行,如下:
查看web页面即可见: