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目录下,重新服务就可以了。

Canal——Canal-Adapter源码在IDEA部署运行的更多相关文章
- Spark1.0.0 源码编译和部署包生成
问题导读:1.如何对Spark1.0.0源码编译?2.如何生成Spark1.0的部署包?3.如何获取包资源? Spark1.0.0的源码编译和部署包生成,其本质只有两种:Maven和SBT,只不过针对 ...
- 01.LNMP架构-Nginx源码包编译部署详细步骤
操作系统:CentOS_Server_7.5_x64_1804.iso 部署组件:Pcre+Zlib+Openssl+Nginx 操作步骤: 一.创建目录 [root@localhost ~]# mk ...
- 02.LNMP架构-MySQL源码包编译部署详细步骤
操作系统:CentOS_Server_7.5_x64_1804.iso 部署组件:Cmake+Boost+MySQL 操作步骤: 一.安装依赖组件 [root@localhost ~]# yum -y ...
- Appium Server 源码分析之启动运行Express http服务器
通过上一个系列Appium Android Bootstrap源码分析我们了解到了appium在安卓目标机器上是如何通过bootstrap这个服务来接收appium从pc端发送过来的命令,并最终使用u ...
- 单点登录(三)-----实战-----cas server 源码下载和部署
我们在上一篇文章中使用的是4.0版本的cas,4.0版本的有发布好的war包可以直接使用,那如果我们要使用更新的版本怎么办呢? 就需要下载源码自己编辑打包了. 步骤如下: 版本选择 我们在cas的gi ...
- MHA源码分析——环境部署
为了更好地了解MHA的原理,计划对MHA源码进行详细的阅读,本文主要为部署源码阅读环境. 一.概述 mha是由perl语言开发,这里想通过eclipse+perl组件来阅读其源码,所以我们环境需要安装 ...
- 如何让spring源码正常的部署在idea中
我在这里把我从GitHub下载的源码成功编译之后的文件放在了我的百度网盘上大家可以直接下载,也可以按如下步骤自己编译部署到idea中, 下载的地址是:http://pan.baidu.com/s/1d ...
- Hadoop 修改源码以及将修改后的源码应用到部署好的Hadoop中
我的Hadoop版本是hadoop-2.7.3, 我们可以去hadoop官网下载源码hadoop-2.7.3-src,以及编译好的工程文件hadoop-2.7.3, 后者可以直接部署. 前者hadoo ...
- Apollo源码打包及部署
1. 通过源码打包 到携程Apollo地址 https://github.com/ctripcorp/apollo 下载Apollo源码,可在源码中进行自定义配置日志路径及端口等,之后打包. 打包完成 ...
随机推荐
- Session&Cookie&localStorage浅谈
Session&Cookie&localStorage 领导让我开发一个有两张信息表单需要提交页面的网站,我作为一名开发人员,这个需求太简单了,和领导说直接存session sessi ...
- 关于创建Django表单Forms继承BaseForm的问题
在创建Django表单时,因为需要验证用户输入的验证码是否正确,因此需要在session里提取当前验证码的值和POST提交过来的值进行比对,如图: form.py from django import ...
- hibernate meger
转: 在Hibernate中,有save.persist.savaOrUpdate.merge等方法有插入数据的功能.前三者理解起来较后者容易一些,merge方法从api中的介绍就看以看出它是最复杂的 ...
- Codeforces Round #600 (Div. 2) D题【并查集+思维】
题意:给你n个点,m条边,然后让你使得这个这个图成为一个协和图,需要加几条边.协和图就是,如果两个点之间有一条边,那么左端点与这之间任意一个点之间都要有条边. 思路:通过并查集不断维护连通量的最大编号 ...
- js中数组元素的添加和删除
js中数组元素常用添加方法是直接添加.push方法以及unshift方法 删除方法则是delete.pop.shift 集修改方法为一身的则是splice 1.添加: (1)直接添加通常都是这样 va ...
- 002_simulink中显示模块中的名字
(一)Display--->Hide Automatic Names(√去掉)
- PHP的输出语法
一.echo 只能输出标量数据类型,对于任何数据都可以转为字符串输出 echo是PHP的一种特殊的'指令',不一定要像函数的那样()去使用,可以直接紧跟一个空格输出信息,可以是多个参数 <?ph ...
- [codevs]线段树练习5
http://codevs.cn/problem/4927/ #include <iostream> #include <cstdio> #include <algori ...
- js 读xml文件
参考 http://www.w3school.com.cn/xmldom/dom_document.asp A.xml <?xml version="1.0" encodin ...
- 前端逼死强迫症之DOM
Dom:document.相当于把所有的html文件,转换成了文档对象. 之前说过:html-裸体的人:css-穿上衣服:js-让人动起来. 让人动起来,就得先找到他,再修改它内容或属性. 找到标签 ...