TiDB Binlog Cluster 版本升级方法

新版本的 TiDB(v2.0.8-binlog、v2.1.0-rc.5 及以上版本)不兼容 Kafka 版本以及 Local 版本的 TiDB Binlog,集群升级到新版本后只能使用 Cluster 版本的 TiDB Binlog。如果在升级前已经使用了 Kafka/Local 版本的 TiDB Binlog,必须将其升级到 Cluster 版本。

TiDB Binlog 版本与 TiDB 版本的对应关系如下:

TiDBBinlog版本 TiDB版本 说明
Local TiDB1.0及更低版本
Kafka TiDB1.0~TiDB2.1RC5 TiDB1.0支持local版本和Kafka版本的TiDBBinlog。
Cluster TiDBv2.0.8-binlog,TiDB2.1RC5及更高版本 TiDBv2.0.8-binlog是一个支持Cluster版本TiDBBinlog的2.0特殊版本。

升级流程

注意:

如果能接受重新导全量数据,则可以直接废弃老版本,按 TiDB Binlog 集群部署中的步骤重新部署。

如果想从原来的 checkpoint 继续同步,使用以下升级流程:

  1. 部署新版本 Pump。
  2. 暂停 TiDB 集群业务。
  3. 更新 TiDB 以及配置,写 Binlog 到新的 Pump Cluster。
  4. TiDB 集群重新接入业务。
  5. 确认老版本的 Drainer 已经将老版本的 Pump 的数据完全同步到下游。

查询 Drainer 的 status 接口,示例命令如下:

     $ curl 'http://172.16.10.49:8249/status'
     {"PumpPos":{"172.16.10.49:8250":{"offset":32686}},"Synced": true ,"DepositWindow":{"Upper":398907800202772481,"Lower":398907799455662081}}

如果返回的 Synced 为 true,则可以认为 Binlog 数据已经全部同步到了下游。

  1. 启动新版本 Drainer;
  2. 下线老版本的 Pump、Drainer 以及依赖的 Kafka 和 ZookeSeper。

看完两件小事

如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:

  1. 关注我们的 GitHub 博客,让我们成为长期关系
  2. 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
  3. 关注公众号 「方志朋」,公众号后台回复「资源」 免费领取我精心整理的前端进阶资源教程

JS中文网是中国领先的新一代开发者社区和专业的技术媒体,一个帮助开发者成长的社区,目前已经覆盖和服务了超过 300 万开发者,你每天都可以在这里找到技术世界的头条内容。欢迎热爱技术的你一起加入交流与学习,JS中文网的使命是帮助开发者用代码改变世界

results matching ""

    No results matching ""