目录
1 基本概述
2 环境配置
2.1 创建用户
2.2 启用BinLog
3 BeeDI同步操作
3.1 创建同步作业
3.2 创建测试数据
3.3 预览MySQL变化数据
3.4 同步数据到ES
1 基本概述
本文介绍采用灵蜂数据集成软件BeeDI将MySQL数据实时同步到ElasticSearch的配置操作过程。BeeDI支持时间戳、触发器、日志解析、差异比对等多种同步模式,对于实时同步需要采用日志解析模式
2 环境配置
2.1 创建用户
在主库创建同步用户,以用户sync为例,创建用户及权限分配语句如下:
CREATE USER 'sync'@'%' IDENTIFIED BY 'xxxxx';
GRANT SELECT,PROCESS,SUPER, REPLICATION CLIENT,REPLICATION SLAVE ON *.* TO 'sync'@'%';
2.2 启用BinLog
查询主库日志开启状态及日志记录格式:
show variables like 'log_bin';
show variables like "%binlog_format%";
如果日志状态为OFF或日志记录格式不为ROW,则编辑my.ini文件,设置以下项目内容:
log-bin="xxxxxx" --开启日志
binlog_format="ROW" --日志记录格式
3 BeeDI同步操作
3.1 创建同步作业
在BeeDI新建ETL作业,作业名称指定mysql_es,类型指定ETL模板,然后在模板中依次设置MySQL和ES连接,操作如下:
MySQL接口设置:
ElasticSearch接口设置:
从MySQL资源窗口拖拽要同步的表节点到ElasticSearch窗口释放,弹出新建表对话框,如下图:
调整新建表列定义,对于ElasticSearch,保留_id列为主键,源表对应的id列删除,选择【确定】按钮。
拖拽抽取组件窗口的ID列到装载组件窗口的_id列
点击抽取组件窗口的【选项】按钮,在弹出的【选项】对话框中勾选【增量抽取】,弹出【增量抽取设置】对话框
选择【日志】选项,拖拽标识列ID_到逻辑主键窗口
依次选择【返回】、【确定】按钮关闭对话框。
3.2 创建测试数据
insert into act_ge_bytearray(
ID_,REV_,NAME_,DEPLOYMENT_ID_,BYTES_,GENERATED_
) select 17510,REV_,NAME_,DEPLOYMENT_ID_,BYTES_,GENERATED_
from act_ge_bytearray where ID_ = 17503;
3.3 预览MySQL变化数据
选择装载组件的预览按钮,可以预览查看源表新产生的数据
对于LOB数据,可以进一步浏览
3.4 同步数据到ES
选择工具栏的【启动】按钮,执行当前任务,将MySQL数据变化同步到EllasticSearch,任务运行结束后,右键选择ElasticSearch资源窗口的目标表,在快捷菜单中选择【预览数据】,检查目标表数据,验证同步过程。
浏览验证同步的LOB数据