zoukankan      html  css  js  c++  java
  • 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:

     

    五、修改源码

    以下代码增加了从索引模板中获取mapping的处理逻辑:

    重新编译打包:

    在项目的target目录下,会生成编译后的包,我这里修改的是es相关的,路径如下:

     

    更新到canal-adapter的plugin目录下,重新服务就可以了。

  • 相关阅读:
    /、./和../的区别
    【Java基础】-- FileUtils工具类常用方法
    【数据库】-- MySQL中比like更高效的三个写法
    【Java框架】-- SpringBoot大文件RestTemplate下载解决方案
    记一次gitlab代码仓清空还原复盘
    聊聊如何实现一个带有拦截器功能的SPI
    聊聊如何实现一个支持键值对的SPI
    类实例对象的class类型却不属于该类,何解?
    exe打包成安装文件(界面美观)
    linux系统软件启动sh脚本
  • 原文地址:https://www.cnblogs.com/caoweixiong/p/11961600.html
Copyright © 2011-2022 走看看