大数据Canal(四):Canal HA原理及安装
Canal HA原理及安装
一、Canal HA原理
Canal一般用于实时同步数据场景,那么对于实时场景HA显得尤为重要,Canal支持HA搭建,canal的HA分为两部分,canal server和canal client分别有对应的HA实现。大数据中使用Canal同步数据一般同步到Kafka中,这里Kafka相当于是Canal Client,Kafka集群自带HA属性,所以这里我们只关注Canal Server HA。Canal Server HA主要是为了减少对mysql dump的请求,不同server上的instance(不同server上的相同instance)要求同一时间只能有一个处于running,其他的处于standby状态(standby是instance的状态),Canal Server HA原理如下:
Canal HA 保证步骤如下:
(资料图)
二、Canal HA 搭建
1、机器准备
运行Canal的机器:node3,node4
zookeeper地址:node3:2181,node4:2181,node5:2181
mysql地址:node2:3306
2、在node3,node4上单独部署配置Canal
将Canal安装包上传到node3,node4,并解压到“/software/canal”目录下,修改“/software/canal/conf”下的canal.properties文件,加上zookeeper配置
#指定zookeeper集群地址canal.zkServers = node3:2181,node4:2181,node5:2181#配置spring的xml配置文件canal.instance.global.spring.xml = classpath:spring/default-instance.xml#canal将数据写入Kafka,可配:tcp, kafka, RocketMQ,tcp就是使用canal代码接收canal.serverMode = kafka#配置canal写入Kafka地址canal.mq.servers = node1:9092,node2:9092,node3:9092
进入“/software/canal/conf/example”目录,修改“instance.properties”文件:
#另外一台机器改成123457,保证slaveId不重复即可canal.instance.mysql.slaveId=123456#配置mysql master 节点及端口canal.instance.master.address=node2:3306#配置连接mysql的用户名和密码,就是前面复制权限的用户名和密码canal.instance.dbUsername=canalcanal.instance.dbPassword=canal#配置Canal将数据导入到Kafka topiccanal.mq.topic=canal_topic
注意:两台机器上的instance目录的名字需要保证完全一致,HA模式是依赖于instance name进行管理,同时必须都选择default-instance.xml配置,此配置中才有关于zookeeper的设置信息。
3、启动两台机器的Canal
#在node3上启动Canal[root@node3 ~]# cd /software/canal/bin[root@node3 bin]# ./startup.sh#在node4上启动Canal[root@node4 ~]# cd /software/canal/bin[root@node4 bin]# ./startup.sh
启动完成后,可以查看zookeeper中对应的路径信息:
三、Canal HA 测试
默认搭建好的Canal HA 后可以通过查看Zookeeper中的“/otter/canal/destinations/examples/running”来查看Active的Canal节点:
测试Canal HA 如下:
1、向Mysql中“testdb.person”表中写入数据
mysql> insert into person values (4,"s1",21),(5,"s2",22),(6,"s3",23);
可以观察到Kafka canal_topic中有监控到的数据如下:
{"data":[{"id":"4","name":"s1","age":"21"},{"id":"5","name":"s2","age":"22"},{"id":"6","name":"s3","age":"23"}],"database":"testdb","es":1618849974000,"id":2,"isDdl":false,"mysqlType":{"id":"int","name":"varchar(255)","age":"int"},"old":null,"pkNames":null,"sql":"","sqlType":{"id":4,"name":12,"age":4},"table":"person","ts":1618849975203,"type":"INSERT"}
2、关闭active Canal Server节点,继续向Mysql表中写入数据
关闭node3 Canal Server:
[root@node3 ~]# cd /software/canal/bin[root@node3 bin]# ./stop.sh
查看zookeeper “/otter/canal/destinations/examples/running”路径Active的Canal节点:
继续向MySQL中“testdb.person”表中写入数据:
mysql> insert into person values (7,"x1",24),(8,"x2",25),(9,"x3",26);
可以观察写入到Kafka “canal_topic”中数据如下:
{"data":[{"id":"7","name":"x1","age":"24"},{"id":"8","name":"x2","age":"25"},{"id":"9","name":"x3","age":"26"}],"database":"testdb","es":1618850233000,"id":2,"isDdl":false,"mysqlType":{"id":"int","name":"varchar(255)","age":"int"},"old":null,"pkNames":null,"sql":"","sqlType":{"id":4,"name":12,"age":4},"table":"person","ts":1618850234136,"type":"INSERT"}
经过以上测试,Canal HA 生效。
注意:经过测试Canal HA 在使用zookeeper存储binlog position时,当有一个Canal Server重新启动并切换成Active节点时,每次都会重复读取最后一条数据。使用非HA 本地存储binlog position时,没有此问题。
标签:
相关文章
大数据Canal(四):Canal HA原理及安装
Canal一般用于实时同步数据场景,那么对于实时场景HA显得尤为重要,Canal支持HA搭建,canal的HA分为两部分,canalserver和canal
“能源危机暴露英国深层结构性问题”(国际视点)
对英国普通民众来说,这个冬天格外难熬。英国国家统计局发布的数据显示,自去年7月以来,英国已有6个月通胀率超过10%。目前
当前热点-报告:131个国家地区中只有13个达到世卫空气质量指南标准
【环球时报综合报道】全球范围内的空气污染让人担忧,据美国有线电视新闻网(CNN)14日报道,追踪全球空气质量的IQAir公司分析了去年131个国家
琥珀和蜜蜡的区别_琥珀蜜蜡的功效与作用|每日快报
1、琥珀优点根据科学描述,琥珀是4500万到6500万年前松柏植物的树脂滴,埋在地下数千年,在压力和热量的影响下石化。2
《长风渡》:错位婚姻里的相互治愈 天天资讯
《长风渡》大家都在期待《长风渡》的播出,不少粉丝已经等得不耐烦了。尤其是近日,有照片曝光,宋轶在片场帮白敬亭整理头发的画面更是引起了
股票暴跌、急取存款,银行倒闭后,美国乱了……-全球资讯
据《纽约时报》报道,美国三天内两家银行接连宣告破产,创下美国银行业第二大、第三大规模的倒闭,引发了民众对更广泛金融危机的
每日速递:俄大军暴击之下美乌决裂了 乌军称击中俄军集群和弹药库(今日/头条)
一、俄大军暴击之下美乌决裂了自从2022年2月末俄罗斯发动特别军事行动以来,美国就一直是基辅最依赖的强力伙伴之一,舆论普
每日热闻!长城汽车推出Hi4智能四驱混合动力技术
3月10日,长城汽车(长城汽车)正式推出了全新的智能四驱(4WD)混合动力技术Hi4。根据汽车制造商的说法,Hi4代表混合动力、智能和四轮驱动。
天天简讯:南侨食品(605339)2022年年报财务简析:净利润减56.41%
据证券之星公开数据整理,近期南侨食品(605339)发布2022年年报。根据财报显示,本报告期中南侨食品净利润减56 41%。截至本报告期末,公司营
5月11日是什么星座男生_5月11日是什么星座
今天小编肥嘟来为大家解答以上的问题。5月11日是什么星座男生,5月11日是什么星座相信很多小伙伴还不知道,现在让我们一起来看看吧!1、金牛座
工行咸阳彩虹支行关爱特殊群体践行适老服务
为落实服务适老化工作要求,解决老年群体金融业务办理困难,工行咸阳彩虹支行做实做细老年人服务工作,着力为老年客户提供更安全、更贴心、更
2023顺德逢简水乡旅游攻略(预约+交通+景点)|当前资讯
2023顺德逢简水乡旅游攻略:一、景区预约预约入口:逢简水乡公众号预约流程:逢简水乡景区实施网上实名制预约方式。所有游客须通过“逢简水乡
焦点信息:夫妻感情破裂_夫妻感情破裂的前兆
1、对性生活的兴趣降低,人们以各种借口避免与对方亲热,而表达爱意的动作则以“套路”的态度对待。2、脾气变得暴躁,经常为小
世界微速讯:行政效率最直接的体现_行政效率具有的特点
1、行政效率指在保证政府活动符合预定目的,给社会带来有效成果的前提下,行政活动的产出与投入之间的比率。2、行政效能是指行
孙叔敖为楚令尹翻译及原文_孙叔敖为楚令尹翻译 热消息
今天小编肥嘟来为大家解答以上的问题。孙叔敖为楚令尹翻译及原文,孙叔敖为楚令尹翻译相信很多小伙伴还不知道,现在让我们一起来看看吧!1、1 1
燃油车就此崩盘?车价暴跌起因已不重要了!我国已然实现弯道超车 世界快资讯
最近,很多人赶往湖北,甚至有人连夜往那里“飞”!起因是某口碑不错的合资品牌汽车突然价格暴降9万元。有人惊呼——用入门车的价格实现豪...
华明装备:接受华宝基金调研
华明装备(SZ002270,收盘价:9元)发布公告称,2023年3月10日10:00-11:20,华明装备接受华宝基金调研,公司董事会秘书夏海晶参与接待,并回答了
全球讯息:深二度烧伤疤痕多久可以恢复_深二度烧伤疤痕多久才能恢复正常
1、病情分析:由于深二度烧伤真皮层受损,创面需要疤痕覆盖修复,一般需要3-4周,皮肤长大后无法恢复原状。2、深二度烧伤表
成都大风吹倒公交站灯牌 市民合力抬起救人网民点赞
现场视频截图。中国青年网成都3月12日电(记者王泊洁 宋继祥)3月11日晚,四川省成都市气象台发布大风蓝色预警信号,预计部分地区有7级以上阵
新年联欢会开场白范文_新年联欢会开场白
1、开场白甲:新年的钟声即将敲响,时光的车轮又留下了一道深深的印痕。2、伴随着冬日里温暖的阳光,满怀着喜悦的心情,20
每日速看!科鲁泽:配113马力+6DCT,跟车平顺,养护经济,双独立悬挂
不少初次买车的年轻人会将紧凑型轿车作为首选,原因是该级别车型外观体面,空间够用,最主要的的养护成本经济,同时操控起来比较容易。今天给
没有会计基础怎么自学会计初级
没有会计基础这样自学会计初级:没有会计基础的考生需要做到全面学习,要按照考试的大纲去学习基础教材,然后制定好科学的备考计划,严格按照
当前消息!乌江自刎什么战役_乌江自刎什么意思
1、项羽最后因寡不敌众,自刎乌江。2、吴自杀的背景是当时楚汉相争,项羽被围,告别艾吉,突围,误入大泽,被汉兵追上。3、《