一、下载源码

我这里用的是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目录下,重新服务就可以了。

Canal——Canal-Adapter源码在IDEA部署运行的更多相关文章

  1. Spark1.0.0 源码编译和部署包生成

    问题导读:1.如何对Spark1.0.0源码编译?2.如何生成Spark1.0的部署包?3.如何获取包资源? Spark1.0.0的源码编译和部署包生成,其本质只有两种:Maven和SBT,只不过针对 ...

  2. 01.LNMP架构-Nginx源码包编译部署详细步骤

    操作系统:CentOS_Server_7.5_x64_1804.iso 部署组件:Pcre+Zlib+Openssl+Nginx 操作步骤: 一.创建目录 [root@localhost ~]# mk ...

  3. 02.LNMP架构-MySQL源码包编译部署详细步骤

    操作系统:CentOS_Server_7.5_x64_1804.iso 部署组件:Cmake+Boost+MySQL 操作步骤: 一.安装依赖组件 [root@localhost ~]# yum -y ...

  4. Appium Server 源码分析之启动运行Express http服务器

    通过上一个系列Appium Android Bootstrap源码分析我们了解到了appium在安卓目标机器上是如何通过bootstrap这个服务来接收appium从pc端发送过来的命令,并最终使用u ...

  5. 单点登录(三)-----实战-----cas server 源码下载和部署

    我们在上一篇文章中使用的是4.0版本的cas,4.0版本的有发布好的war包可以直接使用,那如果我们要使用更新的版本怎么办呢? 就需要下载源码自己编辑打包了. 步骤如下: 版本选择 我们在cas的gi ...

  6. MHA源码分析——环境部署

    为了更好地了解MHA的原理,计划对MHA源码进行详细的阅读,本文主要为部署源码阅读环境. 一.概述 mha是由perl语言开发,这里想通过eclipse+perl组件来阅读其源码,所以我们环境需要安装 ...

  7. 如何让spring源码正常的部署在idea中

    我在这里把我从GitHub下载的源码成功编译之后的文件放在了我的百度网盘上大家可以直接下载,也可以按如下步骤自己编译部署到idea中, 下载的地址是:http://pan.baidu.com/s/1d ...

  8. Hadoop 修改源码以及将修改后的源码应用到部署好的Hadoop中

    我的Hadoop版本是hadoop-2.7.3, 我们可以去hadoop官网下载源码hadoop-2.7.3-src,以及编译好的工程文件hadoop-2.7.3, 后者可以直接部署. 前者hadoo ...

  9. Apollo源码打包及部署

    1. 通过源码打包 到携程Apollo地址 https://github.com/ctripcorp/apollo 下载Apollo源码,可在源码中进行自定义配置日志路径及端口等,之后打包. 打包完成 ...

随机推荐

  1. 《hello-world团队》第七次作业:团队项目设计完善&编码

    项目 内容 这个作业属于哪个课程 2016级计算机科学与工程学院软件工程(西北师范大学) 这个作业的要求在哪里 实验十一 团队作业7:团队项目设计完善&编码 团队名称 <hello--w ...

  2. react相关知识点总结

    1 JSX解析的问题 JSX其实是语法糖: 开发环境会将JSX编译成JS代码 react定义的方法,用来解析html,第一个参数是“html元素”,第二个参数是“属性”,第三个参数是其子元素: 所以下 ...

  3. tcp文件下载

    服务器端 import socket def send_file_2_client(new_client_socket,client_addr): # 接收信息 file_name = new_cli ...

  4. LeetCode 246. Strobogrammatic Number

    原题链接在这里:https://leetcode.com/problems/strobogrammatic-number/ 题目: A strobogrammatic number is a numb ...

  5. CGI FastCGI php-FPM 分别是什么

    1.CGI协议用于php解析器跟webserver之间的通信(效率低,浪费资源) 2.FastCGI 可以一次性处理多个进程,是CGI的改良版本 3.php-FPM 是FastCGI 的进程管理器(产 ...

  6. js原型模式和继承

    function SuperType() { this.property = true; //原型属性 } //基类方法 SuperType.prototype.getSuperValue = fun ...

  7. sql server select 1 from 的作用

    select 1 from table 语句中的1代表什么意思   在这里我主要讨论的有以下几个select 语句: doo_archive表是一个数据表,表的行数为4行,如下: 分别用三条selec ...

  8. https web service in Tibco & PC

    Error: 1.Certificate signature validation failed , Signature does not matchuse wrong public certific ...

  9. CF359D Pair of Numbers gcd+暴力

    利用区间 gcd 个数不超过 log 种来做就可以了~ code: #include <bits/stdc++.h> #define N 300005 #define setIO(s) f ...

  10. learning scala type alise

    How to use type alias to name a Tuple2 pair into a domain type called CartItem type CartItem[Donut, ...