我是靠谱客的博主 威武大地,最近开发中收集的这篇文章主要介绍CanalParseException: column size is not match for table:xm_search.user,5 vs 4理解canal tsdb(时序表结构方案设计)的功能需要先看懂官方对tsdb的介绍和实现https://github.com/alibaba/canal/wiki/TableMetaTSDB,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
这段异常中的5是实际的数据列数,4是canal中存储的metadata中该表的列,在实际中发现数据确实为5,也就是切换之后canal没有获取到真正的最新的metadata。
理解canal tsdb(时序表结构方案设计)的功能需要先看懂官方对tsdb的介绍和实现
https://github.com/alibaba/canal/wiki/TableMetaTSDB
问题:表结构一致性问题
方案:持久化存储的思考
- 本地嵌入式实现(H2):提供最小化的依赖,完成时序表结构管理的能力。基于磁盘的模式,可以结合存储计算分离的技术,canal failover之后只要在另一个计算节点上拉起,并加载云盘上的DB数据,做到多机冷备。
- 中心管控存储实现(MySQL): 一般结合于规模化的管控系统,允许将DDL数据录入到中心MySQL进行统一运维。
Canal开启了tsdb功能,并且存储方式是第一种,如果开启tsdb的话,一定要将tsdb设置为集中式的,也就是不要使用本地的h2了,而是使用集中化的mysql数据库,保证两台canal连接的是同一个数据库。这样的话才能够满足在进行DDL和HA切换的时候不会出现异常。
附:同topic,多消费者,消费问题 ;Customer多数据库源
最后
以上就是威武大地为你收集整理的CanalParseException: column size is not match for table:xm_search.user,5 vs 4理解canal tsdb(时序表结构方案设计)的功能需要先看懂官方对tsdb的介绍和实现https://github.com/alibaba/canal/wiki/TableMetaTSDB的全部内容,希望文章能够帮你解决CanalParseException: column size is not match for table:xm_search.user,5 vs 4理解canal tsdb(时序表结构方案设计)的功能需要先看懂官方对tsdb的介绍和实现https://github.com/alibaba/canal/wiki/TableMetaTSDB所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复