背景说明
studio1.2以及更高版本才会集成canal,在此之前的版本如果需要使用canal需要参考:https://nj.transwarp.cn:8180/?p=3023
这里不建议使用低于1.2的版本,本文是基于studio1.5版本,应该适用于1.2 ~ 1.5的所有版本。
使用canal同步数据包括以下部分:
第一, 使用transporter自带的canal管理将mysql同步至hdfs
第二, 使用transporter将hdfs数据同步到inceptor
第三, 使用workflow定时调用tdt任务(可选)
下面分别介绍。
第一, 使用transporter自带的canal管理将mysql同步至hdfs
这一步参考文档: https://nj.transwarp.cn:8180/?p=3031
特别要注意的是其中的“目标端配置”这一步,这是是mysql binlog上传到hdfs的地方,建议单独建立一个忙碌。
举个例子:需要同步库lkw下面的表,于是在hdfs上新建一个/tmp/lkw目录,并在这里设置。
PS:图片可以双击打开。
新建SyncTask的状态是“未知”,发布之后会是 启动中->运行中
处于运行中状态说明已经正常监控源表了,可以进行下一步了。
此时检查/tmp/lkw目录下回发现是空的,这是因为源表还没有新的binlog日志生成,所以没有任何同步过来,对源表做一下增删改即可,比如对源表emp插入一条数据,会生成如下的记录:
第二, 使用workflow+transporter将hdfs数据同步到inceptor
详细步骤请参考使用手册的3.1.2章节,如果没有请到下方下载。
注意这里要选择批量数据流(注意预览时候选择数据存在的hdfs目录,并后台给予hdfs目录充分的权限)
这个目录要特别注意,上一步binlog目录设置为/tmp/lkw,库名也是lkw,所以这个库生成的binlog所在目录就是/tmp/lkw/lkw。
注意这里设置到库一级就可以了,不要设置成下一级的表层级。
完成之后可以手动执行一下,或者单独调试其中的子任务,执行成功之后检查inceptor目标表中是否有数据。
第三, 使用workflow定时调用tdt任务
最后通过workflow发布,定时执行同步任务
- 新建数据流任务
2.选择任务
3.设置同步的时间
4,调试并发布数据流任务
最终完整的mysql数据库同步到inceptor的过程便完成了
其他
tdt 1.5手册下载地址:
https://nj.transwarp.club:666/main.html?download&weblink=66c42dc05b24e9e65b1438e0a5fd6275&realfilename=Transporter$20Studio$201.5$20$E4$BD$BF$E7$94$A8$E6$89$8B$E5$86$8C$EF$BC$88$E4$BF$AE$E6$94$B92$E7$89$88$EF$BC$89.docx
其中有常见问题的说明,比如:











