Canal部署

Canal部署

一、 部署canal-server

下载canal-server :https://github.com/alibaba/canal/releases

这里我选择最新版的1.1.5 alpha版本,据说这个版本支持es7.x ,文件名:canal.deployer-1.1.5-SNAPSHOT.tar.gz

上传到服务器上并解压至 /opt/apps/canal/server 文件夹下

参照教程配置server https://github.com/alibaba/canal/wiki/QuickStart

集群部署server需要配置zookeeper

# 修改配置文件 {canal_base}/conf/canal.properties

canal.zkServers=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183

二、部署canal-adapter

参考教程:https://github.com/alibaba/canal/wiki/Sync-ES

根据github上的教程配置信息搭建完毕此处记录几项注意点:

1.canal全量同步数据:curl -X POST http://192.168.6.231:8081/etl/es7/mytest_user.yml

2./conf/es7/xx.yml注意只留一个

3.同步sql的大小写要与es索引大小写一致

4.es的索引需要预先建立

5.同步脚本映射关系中要包含 id as _id 不然初始化时不会同步数据

6.一个cpu的服务器一定要修改 canal.instance.parser.parallel为false

7.手动同步数据或出异常后可能会切换同步状态

查看同步状态

curl http://127.0.0.1:8081/syncSwitch/example

修改同步状态

curl http://127.0.0.1:8081/syncSwitch/example/off -X PUT

-------------------------------------------------2021年4月25日-----------------------------------------------

canal1.5稳定版发布了

进行了一下升级,因为在前端时间使用时发现rocketmq时不时的service buzy,还是切回tcp模式了。

1.5版本tcp模式有以下问题:

1.server重启client无法自动重连

2.client配置zookeeperHosts无法启动

问题1:在

com.alibaba.otter.canal.client.impl.SimpleCanalConnector类中的writeWithHeader方法中添加异常捕获,增加重连
  try {
                channel.write(writeHeader);
                channel.write(ByteBuffer.wrap(body));
            }catch (IOException e){
                this.doConnect();
                logger.error(e.getMessage(),e);
            }

问题2:

更新curator-recipes版本

      <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-recipes</artifactId>
            <version>4.0.1</version>
        </dependency>

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值