Canal——Canal-Adapter源码在IDEA部署运行

Posted caoweixiong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Canal——Canal-Adapter源码在IDEA部署运行相关的知识,希望对你有一定的参考价值。

 

一、下载源码

我这里用的是canal-1.1.4版本

技术图片

  • 源码结构

client-adapter项目就是本次要部署运行的

技术图片

  • 源码导入到IDEA中的结构如下:

技术图片

 

 

二、安装配置

  • 找到manven模块中有root的那个模块,然后点击install进行安装

技术图片

待安装完成后,会在对应的项目的target目录下产生相应的运行包,如果不想在开发工具中运行的话,直接拷贝对应的包即可。

  • 修改launcher的application.yml配置

技术图片

  • es adapter配置

在launcher项目中的配置文件下创建es目录并加入所需要同步的配置文件

技术图片

 

 

三、运行调试

配置完毕后,直接运行launcher这个springBoot项目即可,也就是运行CanalAdapterApplication这个类就可以了。

技术图片

 当看日志提示启动成功后就代表启动成功了!

 

四、测试验证

增量同步测试跟canal-adapter安装包部署运行一样,这里主要介绍及测试一下条件同步全量同步功能,即etl功能。

launcher项目是一个spring boot项目,在其中的rest包下有一个controller类(CommonRest.java),里面提供了一些接口,其中一个用于全量同步数据的接口

技术图片

  • canal全量同步

我们按照注释的内容发送一个http请求即可:

技术图片

 canal_db1.yml为es目录下的配置文件,运行后出现以下提示信息,就可以让canal_db1.yml配置的数据表的所有数据全同步到es中了

技术图片

 在kibana中查看数据是否已经生成:

技术图片

  • canal条件同步

如果想执行从某一个时刻的数据同步,在上面的测试URL后加上对应的参数就可以了

技术图片

其参数由es的配置项决定的,以下截图的配置文件中的etlCondition:

 技术图片

 

 

 

 

以上是关于Canal——Canal-Adapter源码在IDEA部署运行的主要内容,如果未能解决你的问题,请参考以下文章

canal-adapter报错空指针

Canal——高可用架构设计与应用

canal实现同步mysql至es

canal 系列:ES中nested嵌套类型同步

docker环境安装mysqlcanalelasticsearch,基于binlog利用canal实现mysql的数据同步到elasticsearch中

Canal源码分析Canal Server的启动和停止过程