Canal安装搭建教程+kafkaProducer代码

这篇博客介绍了Canal 1.1.3的安装步骤,强调了安装中可能遇到的问题,以及如何配置多个数据库监听。此外,还提供了使用KafkaProducer与Canal结合的代码示例,详细解释了代码逻辑和处理binlog数据的注意事项。
摘要由CSDN通过智能技术生成

死亡如风,常伴吾身。大家好我是菜宇~

	首先要说明这是我第一次写博客,写得不好请大佬们给点意见哈~
	好了废话不多说,直接上干货!

Canal的安装搭建

简单操作我就不讲了,都用到canal了应该也不是什么新手了吧,如果实在不会百度大把,这里只讲别人的博客没讲到的东西
首先下载压缩包并解压,我用的版本是1.1.3
配置mysql的my.cnf和canal权限
操作来了:
1.cd canal/example/
你会发现一个配置文件


第一个文件是拉取来的binlog日志文件,第三个文件是自动生成的,只是记录的先不管他
主要看第二个配置文件,走你~

在这里插入图片描述
这个是数据库的地址,你要监听哪个就写哪个
如果你想两个客户端一起监听一个数据库怎么办?
在canal/conf创建一个目录,什么名字都行,如图:
在这里插入图片描述
然后把配置文件cp过去,会自动生成h2.mv.db,不用管他,多数据库操作也是同理,只是cp过去以后改改数据库地址而已嘛
这里最好不好用canal默认的example,会有问题的。

最后就是启动了,很简单吧哈哈哈,但是我快搞了一星期才搞出来,为什么呢?因为某云的垃圾服务器网络太差,搞得我一直以为是我的问题,而且mysql的my.cnf有问题,一直报找不到id,没开启binlog杂七杂八的错,先吃螃蟹的人容易食物中毒啊~~~~

现在可以打开你的客户端了
在这里插入图片描述
hostname是客户端的ip,注意是canal客户端,不要写mysql的。
prot默认端口,你自己看着办
destination对应你的conf的文件夹,这里看别的大佬写的贴子没说,好气?
账号密码不动

Canal完成,当当当当!!!!

Kafka+Canal做producer端

我直接贴代码咯

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONException;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.otter.canal.client.CanalConnector;
import com.alibaba.otter.canal.client.CanalConnectors;
import com.alibaba.otter.canal.protocol.CanalEntry;
import com.alibaba.otter.canal.protocol.Message;
import com.google.protobuf.InvalidProtocolBufferException;
import org.apache.kafka.clients.producer.Callback;
import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.clients.producer.RecordMetadata;
import org.apache.kafka.common.KafkaException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.alibaba.otter.canal.protocol.CanalEntry.*;
import java.net.InetSocketAddress;
import java.util.List;
import java.util.Properties;
import java.util.ArrayList;

public class test {

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值