阿里的canal的使用

部署canal.deployer

canal.deployer的作用就是监听binlog的变动,解释binlog分装成event

下载相应的jar包

canal的git:https://github.com/alibaba/canal

下载发布版本,我这里选择的是canal-1.1.5,地址:https://github.com/alibaba/canal/releases/tag/canal-1.1.5

配置

解压 canal.deployer-1.1.5.tar.gz

进入到canal.deployer-1.1.5目录下

canal.deployer

bib目录下放的是启动和停止的脚本,如果需要调整jvm的参数,可以修改

canal.deployer的启动类就是CanalLauncher

conf目录下放的就是相关的配置


canal的配置

这里accountUser目录是我自己重新建的

canal.properties 需要修改的就是destinations这块

修改配置
canal.destinations = example,accountUser


其他的zk、canal.admin、mq、kafka、rabbitmq、rocketmq有需要,可以配置,我这里没有用到就不配置

如果去需要新增一个自定义的监听,则需要在conf下新建一个目录,例如:order,再加order目录下,新增instance.properties的文件,最后再把刚才建立的目录名字配置在canal.properties文件的canal.destinations后面

例如:canal.destinations = example,accountUser,order


instance.properties文件的配置

#################################################

## mysql serverId , v1.0.26+ will autoGen

## canal是作为mysql的salve角色去连接mysql的,所以需要配置一个与mysql不一样的唯一的serverId

# 查看mysql的serverId

# SELECT @@server_id as SERVER_ID;

canal.instance.mysql.slaveId=123400000

# enable gtid use true/false

canal.instance.gtidon=false

# position info

# mysql master的地址

canal.instance.master.address=127.0.0.1:3306

canal.instance.master.journal.name=

canal.instance.master.position=

canal.instance.master.timestamp=

canal.instance.master.gtid=

# rds oss binlog

canal.instance.rds.accesskey=

canal.instance.rds.secretkey=

canal.instance.rds.instanceId=

# username/password

# 账号

canal.instance.dbUsername=root

canal.instance.dbPassword=12345678

canal.instance.connectionCharset = UTF-8

# enable druid Decrypt database password

# 是否启用druid数据池

canal.instance.enableDruid=false

# table regex

监听的库和表

canal.instance.filter.regex=.*\\..*

# table black regex

过滤的库和表

canal.instance.filter.black.regex=mysql\\.slave_.*

# table field filter(format: schema1.tableName1:field1/field2,schema2.tableName2:field1/field2)

#canal.instance.filter.field=test1.t_product:id/subject/keywords,test2.t_company:id/name/contact/ch

# table field black filter(format: schema1.tableName1:field1/field2,schema2.tableName2:field1/field2)

#canal.instance.filter.black.field=test1.t_product:subject/product_image,test2.t_company:id/name/contact/ch

#################################################

支持动态增加destination


启动

回到主目录下

执行

./bin/startup.sh

查看是否启动

tail -f logs/canal/canal.log


启动日志

canal.deployer的默认开放连接端口:11111

canal的数据保存,会在相应的destination增加两个文件

h2.mv.db和mate.dat


验证

自己建立一个maven项目

引入相应版本的canal-client

<dependency>

            <groupId>com.alibaba.otter</groupId>

            <artifactId>canal.protocol</artifactId>

            <version>1.1.5</version>

        </dependency>


拷贝📎UserCanalDemo.java

修改对于canal的连接信息

CanalConnector connector = CanalConnectors.newSingleConnector(new InetSocketAddress("127.0.0.1", 11111), "accountUser", "", "");


启动改类,

修改mysql数据,插入数据,删除数据,就可以看到相应的变化


文档

https://github.com/alibaba/canal/wiki/QuickStart

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,039评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,223评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,916评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,009评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,030评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,011评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,934评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,754评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,202评论 1 309
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,433评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,590评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,321评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,917评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,568评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,738评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,583评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,482评论 2 352

推荐阅读更多精彩内容