用canal解析MySQLBinlog日志发送到Kafka_wxy'的博客-CSDN博客


本站和网页 https://blog.csdn.net/weixin_42462138/article/details/86742782 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

用canal解析MySQLBinlog日志发送到Kafka_wxy'的博客-CSDN博客
用canal解析MySQLBinlog日志发送到Kafka
wxy'
于 2019-02-01 16:52:31 发布
6931
收藏
10
分类专栏:
Kafka
canal
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42462138/article/details/86742782
版权
Kafka
同时被 2 个专栏收录
4 篇文章
0 订阅
订阅专栏
canal
2 篇文章
0 订阅
订阅专栏
首先肯定安装kafka,zookeeper(安装方法都在我的其他博文里) 然后按照canal快速搭建配置后,再进行接下去的操作:
1.修改instance配置文件: 在canal目录下 vim conf/example/instance.properties
1)首先需要修改下面部分
#自己mysql所在的IP
canal.instance.master.address=xxx.xxx.xxx.xxx:3306
2)然后根据官方wiki我们在尾部加上:
# mq config,这个topic就是发送到kafka上的topic,可自己写为其他的
canal.mq.topic=example
# 针对库名或者表名发送动态topic
#canal.mq.dynamicTopic=mytest,.*,mytest.user,mytest\\..*,.*\\..*
canal.mq.partition=0
# hash partition config
#canal.mq.partitionsNum=3
#库名.表名: 唯一主键,多个表之间用逗号分隔
#canal.mq.partitionHash=mytest.person:id,mytest.role:id
#################################################
2. 修改canal 配置文件 vim /usr/local/canal/conf/canal.properties 1)首先修改下面的部分
# 可选项: tcp(默认), kafka, RocketMQ
canal.serverMode = kafka
2)然后根据官方wiki我们在尾部加上:
# kafka/rocketmq 集群配置: 192.168.1.117:9092,192.168.1.118:9092,192.168.1.119:9092
#kafka所在的IP及端口
canal.mq.servers = xxx.xxx.xxx.xxx:9092
canal.mq.retries = 0
canal.mq.batchSize = 16384
canal.mq.maxRequestSize = 1048576
canal.mq.lingerMs = 1
canal.mq.bufferMemory = 33554432
# Canal的batch size, 默认50K, 由于kafka最大消息体限制请勿超过1M(900K以下)
canal.mq.canalBatchSize = 50
# Canal get数据的超时时间, 单位: 毫秒, 空为不限超时
canal.mq.canalGetTimeout = 100
# 是否为flat json格式对象
canal.mq.flatMessage = true
canal.mq.compressionType = none
canal.mq.acks = all
# kafka消息投递是否使用事务
canal.mq.transaction = false
3.修改canal目录下vim conf/mq.yml 这三个地方一定注意
#改成kafka所在的IP及端口
servers: 192.168.56.230:9092
#和instance.properties里的topic一致
topic: example
#第一个分区号为0
partition: 0
4.启动: 先启动zookeeper 再启动kafka 最后启动canal
查看日志: vim logs/canal/canal.log 如果出现下面的错误,不用担心,canal server在启动时,是先暴露了端口,再启动对应需要启动的instance,因为启动instance需要一点时间,所以有一定概率会撞上instance未启动完成。所以你就忽略掉这个错误吧
com.alibaba.otter.canal.protocol.exception.CanalClientException: something goes wrong with reason: something goes wrong with channel:[id: 0x3622e177, /192.168.1.134:50993 => /192.168.1.134:11111], exception=com.alibaba.otter.canal.server.exception.CanalServerException: destination:idbbond-1 should start first
然后你去kafka消费那个你取名叫example的topic
/usr/local/kafka/kafka_2.11-0.10.0.0/bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic example --from-beginning
成功!
wxy'
关注
关注
点赞
10
收藏
打赏
评论
用canal解析MySQLBinlog日志发送到Kafka
首先肯定安装kafka,zookeeper(安装方法都在我的其他博文里)然后按照canal快速搭建配置后,再进行接下去的操作:1.修改instance配置文件:在canal目录下vim conf/example/instance.properties1)首先需要修改下面部分#自己mysql所在的IPcanal.instance.master.address=xxx.xxx.xxx.x...
复制链接
扫一扫
专栏目录
数据采集之解析Mysql的binlog日志发送至Kafka实时消费
u013405116的博客
05-11
1933
本文采用Maxwell来实现实时解析mysql的binlog日志发送至kafka
1、开启mysql binlog
环境中mysql是docker容器,所以需要进入容器修改mysql配置.
docker exec -it ef07dab4da9d bash
然后进入/etc/mysql/ 修改my.cnf
增加如下内容
server-id=1
log-...
使用Canal订阅binlog发送到RabbitMQ的删除补偿
zhangjie602的博客
09-20
71
Canal [kə'næl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费使用Canal订阅binlog发送到RabbitMQ的删除补偿我们在保证缓存与数据库双写的最终一致性的时候,我们可以采用这样的思路:用户对数据库进行修改的时候,利用Canal将binlog增量数据发送到RabbitMQ,然后再从队列中将消息解析,得到缓存的RedisKey,并进行删除。Canal的工作原理相对简单,就是把自己伪装成MySQL slave,模拟MySQL slave的交互
参与评论
您还未登录,请先
登录
后发表或查看评论
利用Canal解析mysql binlog日志
weixin_30588827的博客
07-09
681
一、安装包下载(canal.deployer-x.x.x.tar.gz 官方建议使用1.0.22版本)
https://github.com/alibaba/canal/releases
二、解压文件
tar -zxvf canal.deployer-1.0.22.tar.gz -C /app/canal/
三、修改canal配置文件
vim $CANAL_HOME/conf/cana...
Canal+MySQL+Kafka+Zookeeper
最新发布
m0_71518373的博客
10-16
574
Canal+MySQL+Kafka+Zookeeper实现实时数据同步
canal将mysql实时日志信息发送到kafka
qq_36344346的博客
03-03
1738
canal将mysql实时日志信息发送到kafka的topic注意事项:
1.注意看example.log和canal.log日志文件,有启动信息和日志。
2.版本1.1.6调整为1.1.4
3.如果mysql服务器在windows本地,这里不用变动:canal.instance.master.address=127.0.0.1:3306
4.如果kafka需要Kerberos认证,注意目录不能加引号
canal.mq.kafka.kerberos.enable = true
canal.mq.kafka.
3.canal连接kafka传输binlog日志
woshiwjma956的博客
07-15
254
canal
记一次canal抽取mysql的binlog日志到kafka环境搭建
weixin_44889538的博客
08-30
512
记一次调研canal抽取mysql的binlog日志到kafka环境搭建
1.mysql相关配置
1.canal的原理是基于mysql binlog技术,需要开启mysql的binlog写入功能,并且配置binlog模式为row.
#mysql启动操作指令
service mysqld start
service mysqld status
service mysqld stop
2.开启mysql的binlog功能:
[mysqld]
datadir=/var/lib/mysql
socket=/var
canal+kafka实现数据库同步
weixin_44224292的博客
11-21
1516
canal实现数据库同步
1.1.1 canal的工作原理
canal 模拟 MySQL slave 的交互协议,伪装自己为 MySQL slave ,向 MySQL master 发送dump 协议
MySQL master 收到 dump 请求,开始推送 binary log 给 slave (即 canal )
canal 解析 binary log 对象(原始为 byte 流)
1....
mysql trace log_canal动态监控Mysql,将binlog日志解析后,把采集到的数据发送到Kafka...
weixin_36209030的博客
01-27
105
生产者要将发送的数据转化为字节数组才能通过网络发动给Kafka,对于一些简单的数据,Kafka自带了一些序列化工具。//创建生产者实例private static Producer createProducer(){Properties properties = new Properties();properties.put("metadata.broker.list" , GlobalConfi...
canal监控msyql日志打印到kafka,解析日志控制台打印
qq_45798550的博客
04-01
243
文章目录一、开启mysql的binlog二、配置canal三、启动zookeeper,启动kafka,启动canal四、打开本地idea,编写代码scala版本java版本五、flink的toAppendStream与toRetractStream
一、开启mysql的binlog
vim /etc/my.cnf
[mysqld]
# 打开binlog
log-bin=mysql-bin
# # 选择ROW(行)模式
binlog-format=ROW
# # 配置MySQL replaction需要定
canal同步数据至kafka
qq_38009397的博客
09-06
664
canal同步数据至kafka
4.canal实时监控Mysql并推送到kafka中
weixin_42656794的博客
04-22
1548
在前面我们已经开启了Mysql的bin_log功能,安装了canal,成功实时监控了mysql,接下来,我们将mysql中做的操作实时推送到kafka指定的topic中
1关闭canal,写配置文件
vim …/canal/canal.properties 添加如下内容
将servermode更改为kafka,以前是tcp此时前面在客户端上的canal链接会失败
vim /canal/conf/...
canal实战(三)|canal数据消费到kafka
神芷迦蓝寺
11-20
1430
## 本文章改编于阿里开源工具Canal,原版网址https://github.com/alibaba/canal
canal第一辑canal的配置安装与服务启动
canal第二辑canal java客户端
canal的原理我们在第一辑里已经介绍,现在我们需要把canal采集到的日志数据消费到kafka,并通过kafka把数据进行进一步入库,上云等消费操作。
首先我们把Kafka进行安装配置,涉及到的有zookeeper,kafka,有的服务器还要装java环境等,kafka的安装我之前有讲...
mysql 日志异构_canal+kafka订阅Mysql binlog将数据异构到elasticsearch(或其他存储方式)...
weixin_29468281的博客
01-27
66
canal本质就是"冒充"从库,通过订阅mysql bin-log来获取数据库的更改信息。mysql配置(my.cnf)mysql需要配置my.cnf开启bin-log日志并且将bin-log日志格式设置为row, 同时为了防止bin-log日志占用过多磁盘,可以设置一下过期时间,[mysqld]log-bin=mysql-bin # 打开binlogbinlog-format=ROW # ROW...
mysql 实时协议解析 第二版 (基于kafka)
心之所向,无惧无悔!
01-14
6404
第二版 mysql实时解析:
目前从第一版的hbase换到了第二版的kafka:
将traker与parser的交互组件的hbase替换为kafka。
其大体原因是:
1、对于解析的数据没必要永久存储,业务仅是需求回溯一周的数据,对数据的持久化保存特性并不做要求。
2、对于解析要求实时性,需要一个高吞吐量的组件来传递解析的数据,并且保证不重不丢。
整体结构设计:
大致
使用canal将mysql数据导入kafka
LZX的博客
07-28
376
canal原理就是模仿mysql 读日志线程,读取mysql日志,将其中数据传入其他地方。
本次实验canal版本deplover-1.1.4
修改两个文件
\canal.deployer-1.1.4\conf\example\instance.properties
修改mysql相关信息 账户密码之类的 和对应哪个库表的正则 kafka的topic
## mysql serverId 可以随便,配canal主从的时候可以不一样
canal.instance.mysql.slaveId = 125
#pos
canal-adapter消费Kafka中MySQL的binlog数据,却没有同步更新Elastic search
iiopsd的博客
03-18
2305
canal-adapter消费Kafka中MySQL的binlog数据,却没有同步更新Elastic search
Canal安装与配置,推送数据到kafka
qq_37074682的博客
09-23
922
Canal安装与配置,并推送数据到kafka
基于Canal和Kafka实现MySQL的Binlog近实时同步
微信搜:import_bigdata,大数据领域硬核原创作者
03-17
424
大数据技术与架构点击右侧关注,大数据开发领域最强公众号!暴走大数据点击右侧关注,暴走大数据!前提近段时间,业务系统架构基本完备,数据层面的建设比较薄弱,...
基于Canal和Kafka实现MySQL的Binlog近实时同步--转载
z7one
08-27
123
前提#
近段时间,业务系统架构基本完备,数据层面的建设比较薄弱,因为笔者目前工作重心在于搭建一个小型的数据平台。优先级比较高的一个任务就是需要近实时同步业务系统的数据(包括保存、更新或者软删除)到一个另一个数据源,持久化之前需要清洗数据并且构建一个相对合理的便于后续业务数据统计、标签系统构建等扩展功能的数据模型。基于当前团队的资源和能力,优先调研了Alibaba开源中间件Canal的使用。
这篇文章简单介绍一下如何快速地搭建一套Canal相关的组件。
关于Canal#
简介#
下面的简介和下一
Canal+kafka实战(监听mysql binlog实现数据同步)
Emmien的博客
07-22
762
Canal+kafka实战(监听mysql binlog实现数据同步)
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
©️2022 CSDN
皮肤主题:精致技术
设计师:CSDN官方博客
返回首页
wxy'
CSDN认证博客专家
CSDN认证企业博客
码龄5年
暂无认证
14
原创
97万+
周排名
61万+
总排名
2万+
访问
等级
430
积分
10
粉丝
获赞
16
评论
61
收藏
私信
关注
热门文章
canal快速搭建(我已为你近乎避掉所有坑)
15826
用canal解析MySQLBinlog日志发送到Kafka
6931
用Java实现I am a student逆序输出为student a am I,不借助split方法和StringBuffer!
1804
Xshell中,Linux下执行MySQL连接时提示Access denied for user 'xxxx'@'1xx.xxx.x.xxx'错误
837
基于Java基础学习Golang——先大致过一遍(持续更新)
713
分类专栏
Java基础
1篇
MySQL基础
4篇
Java代码
1篇
Hadoop生态圈
Hive
Linux
1篇
Git
1篇
前端
1篇
Kafka
4篇
Avro
1篇
Redis
1篇
canal
2篇
GO基础学习
1篇
数据结构
最新评论
canal快速搭建(我已为你近乎避掉所有坑)
黄发垂髫:
我的问题是没有整合rocketMQ前没问题,整合后消息可以发到MQ,但是java程序启动不了,不能读取到binlog过来的数据了,请问知道为什么吗
canal快速搭建(我已为你近乎避掉所有坑)
黄发垂髫:
你这个链接不上canal的问题解决了么?可能是canal.properties配置里canal.user和canal.passwd需要注释掉。不过我的问题是没有整合rocketMQ前没问题,整合后消息可以发到MQ,但是java程序启动不了和你这个错一样。
canal快速搭建(我已为你近乎避掉所有坑)
yebai:
不错。~
canal快速搭建(我已为你近乎避掉所有坑)
wydshr
回复
bing_yu2001: 我也是这个问题
canal快速搭建(我已为你近乎避掉所有坑)
bing_yu2001:
我的是linux docker 安装的mysql
canal 在linux 里安装
执行本地SpringBoot 数据同步程序
报错:Caused by: com.alibaba.otter.canal.protocol.exception.CanalClientException: java.net.ConnectException: Connection refused
依赖,用户权限都没问题。现在不知道怎么办了。
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
基于Java基础学习Golang——先大致过一遍(持续更新)
Linux下快速搭建MySQL5.7.x
canal快速搭建(我已为你近乎避掉所有坑)
2019年7篇
2018年7篇
目录
目录
分类专栏
Java基础
1篇
MySQL基础
4篇
Java代码
1篇
Hadoop生态圈
Hive
Linux
1篇
Git
1篇
前端
1篇
Kafka
4篇
Avro
1篇
Redis
1篇
canal
2篇
GO基础学习
1篇
数据结构
目录
评论
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
打赏作者
wxy'
你的鼓励将是我创作的最大动力
¥2
¥4
¥6
¥10
¥20
输入1-500的整数
余额支付
(余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付
您的余额不足,请更换扫码支付或充值
打赏作者
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值