Canal-从零开始:入门简介,搭建环境

github地址:https://github.com/alibaba/canal/wiki

简介

  canal我理解是基于Mysql binary log的数据同步中间件。mysql作为master,canal模拟slave,发送请求,作为master的Mysql推送binary log给canal,canal自己再解析出来,推送到其他介质。如(rds,es,mq)

  可以理解canal是一个用来同步增量数据的工具。

搭建Canal-server

  canal-server有两种方式搭建:

    1.二进制文件安装

    2.基于docker镜像安装

  先介绍第一种:

  进入:https://github.com/alibaba/canal/releases/  官方页面下载relase版本,我选择的版本是1.1.4,

  admin是在1.1.4新加的管理界面

  deployer是下图流程所需(但是这是server,不仅包括是下面的流程)                                                                                                   

                                                                        

 另外的adapter是从canal到其他介质的包,下图的这部分,这里先不管后面会介绍到

  下好之后进行解压

   新建canal文件夹

  mkdir canal

   tar zxvf canal.deployer-1.1.4.tar.gz -C /canal

  解压完目录:

  

   修改配置文件了,先看下conf的目录结构:

  

   进入到example目录下,修改instance.properties文件

   

   改好之后保存,然后就启动了。

  进入到bin目录,执行:sh startup.sh

  查看server的日志:

  tail -100f logs/canal/canal.log 

  

2020-11-09 18:29:27.323 [main] INFO  com.alibaba.otter.canal.deployer.CanalLauncher - ## set default uncaught exception handler
2020-11-09 18:29:27.356 [main] INFO  com.alibaba.otter.canal.deployer.CanalLauncher - ## load canal configurations
2020-11-09 18:29:27.367 [main] INFO  com.alibaba.otter.canal.deployer.CanalStarter - ## start the canal server.
2020-11-09 18:29:27.391 [main] INFO  com.alibaba.otter.canal.deployer.CanalController - ## start the canal server[172.17.0.1(172.17.0.1):11111]
2020-11-09 18:29:28.472 [main] INFO  com.alibaba.otter.canal.deployer.CanalStarter - ## the canal server is running now ......

   查看instance日志:

  tail -100f logs/example/example.log

  

2020-11-09 18:29:27.909 [main] INFO  c.a.o.c.i.spring.support.PropertyPlaceholderConfigurer - Loading properties file from class path resource [canal.properties]
2020-11-09 18:29:27.910 [main] INFO  c.a.o.c.i.spring.support.PropertyPlaceholderConfigurer - Loading properties file from class path resource [example/instance.properties]
2020-11-09 18:29:28.304 [main] INFO  c.a.otter.canal.instance.spring.CanalInstanceWithSpring - start CannalInstance for 1-example
2020-11-09 18:29:28.309 [main] WARN  c.a.o.canal.parse.inbound.mysql.dbsync.LogEventConvert - --> init table filter : ^.*..*$
2020-11-09 18:29:28.316 [main] WARN  c.a.o.canal.parse.inbound.mysql.dbsync.LogEventConvert - --> init table black filter :
2020-11-09 18:29:28.408 [destination = example , address = /127.0.0.1:13306 , EventParser] WARN  c.a.o.c.p.inbound.mysql.rds.RdsBinlogEventParserProxy - ---> begin to find start position, it will be long time for reset or first position
2020-11-09 18:29:28.461 [main] INFO  c.a.otter.canal.instance.core.AbstractCanalInstance - start successful....

  

   以上canal-server就正式启动好了。

原文地址:https://www.cnblogs.com/chylcblog/p/13965299.html