目录
一 概述
BeeDI 提供集群部署调度功能,支持ETL任务在多台服务器上的自由迁移,BeeDI集群部署包含客户端、资源管理器、作业服务器。客户端登录资源管理器发布调度任务,资源管理器负责将任务动态加载到可用的作业服务器运行。当某一作业服务器出现故障,其上运行的任务将被加载到其它作业服务器上继续运行。
BeeDI集群组件交互图如下所示:
BeeDI集群组件交互图
BeeDI集群具有如下特点:
分布式运行ETL
任务在定时或手工启动时资源管理器根据负载情况将其分配到负载较小的作业服务器运行。
服务器故障后任务自动迁移
当某一作业服务器出现故障,资源管理器自动将其上运行的任务转移到其它可用服务器上重新运行。当主资源管理器出现故障,后备资源管理器接管其上运行的任务继续执行,确保集群中任意单点故障不会中止ETL执行。
支持断点续传
由于机器故障导致增量同步任务迁移到其它服务器继续执行时,任务将从上次同步完成的断点处继续同步,而非重新同步所有数据。
支持任务调试
BeeDI支持集群环境中的任务调试,可设置调试断点,查看脚本变量值。
多用户协同管理ETL
资源管理器支持多用户同时登录,用户独立控制各自提交的任务。
二 配置
1 主备资源管理器配置
准备2台服务器分别安装BeeDI主资源管理器(主RM)和后备资源管理器(后备 RM)。
编辑主RM配置文件bdi_rm.ini,通过选项ServerPort指定主RM服务监听端口,将选项MasterAddress设置为local,结果如下:
ServerPort=3366(默认,可以指定其它值)
MasterAddress=local
选项配置完毕,启动主RM。
编辑后备RM配置文件bdi_rm.ini,通过选项ServerPort指定后备RM服务监听端口,将选项MasterAddress指向主RM的地址及服务端口,假定主RM地址为192.168.8.10,主RM服务端口3366,设置结果如下:
ServerPort=3366(默认,可以指定其它值)
MasterAddress=192.168.8.10:3366
选项配置完毕,启动后备RM。
2 作业服务器配置
至少准备2台机器用于部署BeeDI作业服务器,编辑作业服务器配置文件bdi_rjs.ini,指定主备RM地址,假定主RM地址为192.168.8.10,主RM服务端口为3366,后备RM地址为192.168.8.11,后备RM服务端口为3366,设置结果如下:
MasterAddress=192.168.8.10:3366
SlaveAddress=192.168.8.11:3366
选项配置完毕,启动作业服务器。
三 操作
1 登录资源管理器
启动BeeDI客户端,选择登录RM命令,在登录对话框中输入登录信息:
登录资源管理器后,将鼠标移到窗口右下角集群状态图标悬停,可以查看集群中作业服务器信息,包含服务器地址,运行作业数,内存使用情况等。
2 调度执行作业
选择BeeDI客户端集群窗口,切换RM文件视图,选择指定方案下将要调度的作业。
通过鼠标右键快捷命令[添加]将选中的作业文件加入调度列表,切换RM作业视图。
鼠标选中将要启动的作业,选择工具栏[启动]按钮,作业在分配到某一作业服务器后开始运行。
选择日志窗口,查看作业运行日志。
3 作业服务器故障任务迁移
双击BeeDI客户端RM作业视图的任务将其打开,然后切换到脚本视图并增加调试断点执行任务。
任务执行暂停后中止任务运行的作业服务器(工作机192.168.113.1),运行作业自动迁移到其它可用作业服务器执行(工作机192.168.113.139)并暂停。
选择日志窗口查看任务执行情况,显示任务在执行过程迁移到了其它服务器执行。
4 后备RM接管
选中BeeDI客户端RM作业视图的任务,选择工具栏[定时]按钮,定时间隔10秒。
中止主RM运行,后备RM自动接管运行。
主RM恢复运行,后备RM退出接管状态。