使用brokercap / Bifrost将mysql数据 迁移到 clickhouse20.12.3.3

Posted 雍州无名

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用brokercap / Bifrost将mysql数据 迁移到 clickhouse20.12.3.3相关的知识,希望对你有一定的参考价值。

Bifrost 可以将 你 mysql 里的数据, 全量 , 实时增量 同步到 :

Redis
MongoDB
ClickHouse
MySQL
Memcahe
RabbitMQ
ActiveMQ
Kafka
Http 自定义服务
Hprose RPC 自定义服务

使用brokercap

Bifrost特点:

支持 MySQL 所有存储类型
界面化动态灵活配置不同的数据表及目标库
多数据源,多种目标库支持
同时支持 增量 及 全量 数据同步
宕机后重启自动恢复配置
支持自定义插件开发,动态加载
支持 Email 及 微信企业号等监控报警功能
提供第三方监控平台访问接口(Http Basic验证)
支持对 Null 的解析,但对 Null 的支持程度,取决于插件的支持,如果有 Null 数据,请查阅 相关插件文档

Bifrost 还不足的地方:

支持批量刷数据的插件,在数据同步异常的情况下,不支持错过当前数据同步功能,例如: ClickHouse,Kafka
datetime,timestamp 解析还不支持精确到毫秒,毫秒部分将会自动被丢弃

支持MySQL 版本(经过测试):

5.1.73
5.5.42
5.6.36
5.7.18
8.0.11 (用户密码验证需要采用 mysql_native_password 方式)

1.官方地址

git地址:​​https://github.com/brokercap/Bifrost​

官方网站:​​https://www.xbifrost.com/​

帮助手册:​​https://wiki.xbifrost.com/​

在线体验:​​https://test.use.xbifrost.com:21037/login/index​​ (默认用户名和密码 Bifrost : Bifrost123)

2.环境准备

安装docker

3.安装

此处使用docker方式安装,其他方式请查看官网

docker pull jc3wish/bifrost
mkdir -p /data/BifrostData
docker run -d -p21036:21036 -v /etc/localtime:/etc/localtime -v /data/BifrostData:/linux/data jc3wish/bifrost

此时可以通过以下网址进行访问(用户名和密码是在 etc/Bifrost.ini 配置文件中配置的,默认用户名和密码 用户名:Bifrost 密码:Bifrost123):

https://10.2.3.123:21036/

使用brokercap

使用brokercap

4.Bifrost的使用(同步1张表)

(1).mysql开启binlog
server_id = 1
log-bin=/var/lib/mysql/binlog/master-bin.log
max_binlog_size = 1G
binlog-format=ROW
expire_logs_days = 6

开启之后,然后在创建相应的库及表

(2).在Bifrost中添加mysql数据源

使用brokercap

使用brokercap

(3).点击提交后会提示你跳到同步目标表

ConnUri的配置:tcp://10.2.3.100:9000?username=default&password=123456&compress=true

使用brokercap

(4).需要同步的库要表设置

点击数据源--》Setting

使用brokercap

选择要同步的库及表

使用brokercap

点击add添加选择的表

使用brokercap

右边的选项保持默认即可,点击批量提交

使用brokercap

使用brokercap

使用brokercap

然后再次点击要同步的表sys_user

使用brokercap

点击 刷新全量数据

使用brokercap

选择对应的目标服务器

使用brokercap

使用brokercap

然后在 数据源 点击 start 开启同步

使用brokercap

使用brokercap

然后在 全量任务中点击--》start

使用brokercap

当状态变为over时表示同步结束了

使用brokercap

(5).查询clickhouse中数据是否同步成功

使用brokercap

5.Bifrost的使用(同步全库)

使用brokercap

使用brokercap

此时可以看到添加成功

使用brokercap

此时点击旁边的 批量提交

使用brokercap

使用brokercap

此时再次点击左边的AllTables 

使用brokercap

然后查看右边出现如下:

使用brokercap

然后点击 刷新全量任务列表

使用brokercap

使用brokercap

此时点击start进行开始

使用brokercap

此时状态会变成running,当状态变为over,表明数据同步成功。

使用brokercap

以上是关于使用brokercap / Bifrost将mysql数据 迁移到 clickhouse20.12.3.3的主要内容,如果未能解决你的问题,请参考以下文章

ruby 用于清理Bifrost DB中的无效用户和客户端的脚本

波卡大咖汇AMA预告Bifrost & Manta Network 专场

DeFi现存的主要问题,波卡能否一次性解决?

sh WordPress:将MySQL排序规则从utf8mb4转换为utf8的脚本(通过http://ben.lobaugh.net/blog/201740/script-to-convert-mys

云时代,MySQL到ClickHouse数据同步产品对比推荐

微前端——乾坤qiankun Demo