前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >还在用定时任务同步数据吗?试试这款同步利器!!

还在用定时任务同步数据吗?试试这款同步利器!!

作者头像
永恒君
发布2022-12-06 16:21:35
6870
发布2022-12-06 16:21:35
举报
文章被收录于专栏:开源小分队开源小分队

大家好,我是开源大叔!今天给大家介绍一款强大的数据同步开源项目:Canal。 最近大叔在对项目进行重构的过程中,需要做一些数据同步的工作。大叔首先想到的同步方案是定时任务,但是定时任务的弊端在于时效性不够高,对于时效性要求稍高的场景定时任务就明显不合适了。 大叔网上查找相关资料,找到了 Canal,该项目正好可以满足我这边的场景。接下来跟着大叔一块来看看 Canal 的强大功能吧!!

Canal概述

Canal 译意为水道/管道/沟渠,主要用途是基于 Mysql 数据库增量日志解析,提供增量数据订阅和消费。当前的 Canal 支持源端 Mysql 版本包括5.1.x , 5.5.x , 5.6.x , 5.7.x , 8.0.x。

项目安装

需要开启 Mysql 的 binlog 写入功能,配置 binlog-format 为 Row 模式

下载 Canal

代码语言:javascript
复制
 wget https://github.com/alibaba/canal/releases/download/canal-1.0.17/canal.deployer-1.0.17.tar.gz

安装 & 配置

代码语言:javascript
复制
#解压下载的文件
mkdir /tmp/canal
tar zxvf canal.deployer-$version.tar.gz  -C /tmp/canal
代码语言:javascript
复制
#配置
vi conf/example/instance.properties
## mysql serverId
canal.instance.mysql.slaveId = 1234
#position info,需要改成自己的数据库信息
canal.instance.master.address = 127.0.0.1:3306 
#username/password,需要改成自己的数据库信息
canal.instance.dbUsername = canal  
canal.instance.dbPassword = canal
canal.instance.connectionCharset = UTF-8
#table regex
canal.instance.filter.regex = .\*\\\\..\*

启动

代码语言:javascript
复制
sh bin/startup.sh
#查看启动日志
vi logs/canal/canal.log</pre>

关闭

代码语言:javascript
复制
sh bin/stop.sh

项目安装部署之后通过命令行管理集群和实例不是特别方便。Canal 已经考虑到这个问题,所以提供了管理页面,也就是下面介绍的 Admin。

安装部署 Canal Admin

Canal Admin 设计上是为 Canal 提供整体配置管理、节点运维等面向运维的功能,提供相对友好的 WebUI 操作界面,方便更多用户快速和安全的操作。

下载安装

代码语言:javascript
复制
wget https://github.com/alibaba/canal/releases/download/canal-1.1.4/canal.admin-1.1.4.tar.gz

解压配置 & 初始化 sql

代码语言:javascript
复制
mkdir /tmp/canal-admin
tar zxvf canal.admin-$version.tar.gz  -C /tmp/canal-admin
#修改配置
vi conf/application.yml 
#sql文件默认会在conf目录下

启动 & 关闭

代码语言:javascript
复制
#启动
sh bin/startup.sh
#关闭
sh bin/stop.sh

启动之后访问 http://127.0.0.1:8089/,默认账号密码: admin/123456

简单操作

集群管理里面配置相应的集群信息,以及 zookeeper 地址。

CanalServer 管理主要管理 CanalServer 端的配置。

Instance 管理就是管理使用 Canal 的客户端,例如:要同步的商品库、会员库, 可以分别配置实例。

通过大叔上面的介绍是不是对 Canal 这款利器有所了解了呢,如果小伙伴们工作中遇到相关的场景可以考虑使用 Canal 来实现。

总结

上面大叔大概介绍了 Canal 的简单使用,安装配置好之后基本上所有的操作都是可以在控制台进行操作的,使用起来非常方便。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-01-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源小分队 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Canal概述
  • 项目安装
  • 安装部署 Canal Admin
  • 简单操作
  • 总结
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档