记一次canal除坑记录

news2024/11/17 5:22:04

记一次canal除坑记录

错误信息

Caused by :com.alibaba.otter.canal.parse.exception.CanalParseException: column size is not match for table

问题处理

今天对Canal相关程序进行升级,原监听的表及业务都正常;遇到新增加的表时总是不走;
因为我们开发的程序都记过测试环境自测,所以直接从线上canal的日志开始排查问题;
canal错误日志截图:
canel错误
从错误看表字段数不对,以为时程序开很长时间了canal缓存了之前的表结构;但是canal跑了2年左右了,啥时候缓存的已经不知道了,随对canal进行重启,但是问题依旧,随针对问题进行网上检索;
找到了CanalParseException: column size is not match for table 标题和错误一致;查看和我们初步分析一致 canal缓存的表结构出现了不一致的情况;
随后依次按照文档的处理办法进行处理;

  1. 停止canal相关程序,和Canal服务;
  2. 找到conf/canal.properties 将canal.instance.tsdb.enable设置为false;
  3. 删除$CANAL_HOME/conf/目标数据库实例标识/h2.mv.db文件;
  4. 最后启动Canal服务
    启动后发现第二部的设置未达到预期,h2.mv.db文件又生成了。

Canal服务有问题?不可能;

继续排查发现在canal.properties有关于conf的配置:

canal.instance.tsdb.enable = false
canal.instance.tsdb.dir = ${canal.file.data.dir:../conf}/${canal.instance.destination:}
canal.instance.tsdb.url = jdbc:h2:${canal.instance.tsdb.dir}/h2;CACHE_SIZE=1000;MODE=MYSQL;

说明canal不只是加载了自己的配置,还加载了实例的配置;随查了一下实例下的instance.properties配置也有关于canal.instance.tsdb.enable = true;随停止Canal服务后将这个改为false;再次重启Canel服务;当问题仍旧没有解决;
问题找到了,诸多措施仍处理问题;
网络一大搜,找到了 canal读取mysql采坑大全; 是第一条就是:

删除meta.dat删除,再重启canal,问题解决;

随对实例下的meta.dat删除,重启;
问题终于解决了。

总结

问题定位到,处理问题措施需要根据自己的实际情况,各自的配置都不一样。

资料

CanalParseException: column size is not match for table
canal读取mysql采坑大全

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1359518.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【GUI界面软件】抖音评论采集:自动采集10000多条,含二级评论、展开评论!

文章目录 一、背景说明1.1 效果演示1.2 演示视频1.3 软件说明 二、代码讲解2.1 爬虫采集模块2.2 软件界面模块2.3 日志模块 三、获取源码及软件 一、背景说明 1.1 效果演示 您好!我是马哥python说,一名10年程序猿。 我用python开发了一个爬虫采集软件…

Cesium自定义电子围栏特效材质

1.new Cesium.Viewer中添加 requestWebgl1: true, 2. 编写材质,主要分三步 (1)定义MaterialProperty (2)设置材质 (3)添加材质 //定义材质对象及变量 function DynamicWallMaterialPropert…

物理与网络安全

物流环境安全 场地选择考虑抗震、承重、防火、防水、供电、空气调节、电磁防护、雷击及静电 场地因素: 自然灾害,社会因素(加油站、化工厂),配套条件(消防,交通,电力,…

Maven(mvn)的学习下载和配置

文章目录 Maven(mvn)1.Maven 是什么?2.Maven做什么?2.1传统方式对项目的管理2.2Maven对jar包的管理 3.Maven怎么学3.1Maven如何创建项目3.2Maven的下载与配置3.3Maven的项目结构3.4Maven依赖的引入3.5Maven依赖的剔除3.6Maven依赖…

如何清理磁盘空间

mysql 进入mysql的存储卷,查看磁盘空间占用比较大的文件,可以看到都是mhysql的bin文件,这些文件记录了mysql的操作用于备份mysql的数据做故障数据恢复。 我们的环境不需要这些数据,可以删除。 通过mysql客户端清理bin文件 SH…

鹿目标检测数据集VOC格式500张

鹿,一种优雅而神秘的哺乳动物,以其优美的外形和独特的生态习性而备受人们的喜爱。 鹿的体型通常中等,四肢细长,身体线条流畅。它们的头部较小,耳朵大而直立,眼睛明亮有神。鹿的毛色因品种而异,…

深圳易图讯科技VR三维电子沙盘系统

易图讯VR三维电子沙盘系统是一种结合虚拟现实技术的地理信息系统。它通过高精度三维模型,真实再现了地理环境、建筑布局和地形地貌。用户可通过VR设备沉浸式体验这一虚拟世界,进行各种交互操作,如缩放、旋转、移动等。系统还支持实时数据更新…

ClickHouse数据库详解和应用实践

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 概述1.适用场景2.不适用场景 一、核心特性1.完备的DBMS功能2.列式存储与数据压缩 二、安装部署1.在线安装2.离线安装 三、jdbc访问总结 概述 ClickHouse 是一个用于…

Baumer工业相机堡盟工业相机如何联合NEOAPI SDK和OpenCV实现相机图像转换为Mat图像格式(C#)

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK实现相机掉线自动重连(C#) Baumer工业相机Baumer工业相机的图像转换为OpenCV的Mat图像的技术背景在NEOAPI SDK里实现相机图像转换为Mat图像格式联合OpenCV实现相机图像转换为Mat图像格式测试演示图 工业相机…

基于多反应堆的高并发服务器【C/C++/Reactor】(中)创建一个TcpConnection实例

#CSDN 年度征文|回顾 2023,赢专属铭牌等定制奖品# 一、主线程反应堆模型的事件添加和处理详解 >>服务器和客户端建立连接和通信流程: 基于多反应堆模型的服务器结构图,这主要是一个TcpServer,关于HttpServer,…

torch.meshgrid和np.meshgrid的区别

numpy中meshgrid: 把数组a当作一行,再根据数组b的长度扩充行。 把数组b当作一列,再根据数组a的长度扩充列。 torch中meshgrid: 把数组a当作一列,再根据数组b的长度扩充列。 把数组b当作一行,再根据数组a的…

外汇天眼:交易如何突破“知行合一”这关?

接触交易之后有无数次想要放弃交易,在交易中的失败实在是太痛苦了,有时候这种失败是打击的作为一个人的最根本的自信,这种失败让我质疑我自己“本就是个普通人,不要想太美的事情”“为什么学习这么多还是不能盈利,我真…

LeetCode-无重复字符的最长子串(3)

题目描述&#xff1a; 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的 最长子串 的长度。 代码&#xff1a; class Solution {public int lengthOfLongestSubstring(String s) {Set<Character> occnew HashSet<Character>();int lens.length();int…

Java集合框架深度解析-ArrayList

Java的集合框架提供了一组实现常用数据结构的类和接口。理解集合框架对于Java程序员来说至关重要&#xff0c;因为它们在日常编程中广泛应用。 为什么需要集合框架&#xff1f; 在编程中&#xff0c;我们经常需要存储和操作一组对象。集合框架提供了用于表示和操作对象组的通…

如何使用 Python 解决网络抓取中的 reCAPTCHA 问题

在网络抓取的领域&#xff0c;开发人员经常面临 reCAPTCHA 的障碍。为了区分人类和自动化机器人&#xff0c;reCAPTCHA 可能会成为那些试图从网站提取数据的人的沉痛阻碍。然而&#xff0c;借助 Python 和像 Capsolver 这样的工具&#xff0c;可以绕过 reCAPTCHA 并继续抓取有价…

【计算机病毒传播模型】报告:区块链在车联网中的应用

区块链在车联网中的应用 写在最前面题目 - 26 车联网安全汇报演讲稿-删减2后&#xff0c;最终版&#xff08;1469字版本&#xff09;汇报演讲稿-删减1后&#xff08;2555字版本&#xff09;汇报演讲稿-删减前&#xff08;3677字版本&#xff09;1 概述1.1 车联网1.2 区块链1.3 …

【C#】网址不进行UrlEncode编码会存在一些问题

欢迎来到《小5讲堂》&#xff0c;大家好&#xff0c;我是全栈小5。 这是2024年第3篇文章&#xff0c;此篇文章是C#知识点实践序列文章&#xff0c;博主能力有限&#xff0c;理解水平有限&#xff0c;若有不对之处望指正&#xff01; 目录 前言数据丢失效果请求端代码接口端代码…

【深度学习:Self-supervised learning (SSL) 】自我监督学习解释

【深度学习&#xff1a;SSL Self-supervised learning 】自我监督学习解释 什么是自我监督学习&#xff1f;比较自我监督学习与监督学习和无监督学习 为什么计算机视觉模型需要自监督学习&#xff1f;自我监督学习的好处自监督学习的局限性 自我监督学习如何运作&#xff1f;对…

burpsuite 爆破

靶场搭建:phpstudy的安装与靶场搭建 - junlin623 - 博客园 (cnblogs.com) 账号字典:XXTK: 一些弱口令、fuzz字典 (gitee.com) 网盘链接:https://pan.baidu.com/s/1v5pAwaTwoeCnJgkUXf3iLQ?pwd=mllm 提取码:mllm --来自百度网盘超级会员V2的分享 一、暴力破解 - 基于…

Linux-端口、nmap命令、netstat命令

端口是设备与外界通讯交流的出入口&#xff0c;可分为物理端口和虚拟端口 物理端口实际存在可以看见&#xff0c;而虚拟端口是指计算机内部的端口&#xff0c;是不可见的&#xff0c;用来操作系统和外部交互使用。 IP地址不能锁定程序&#xff0c;所以可以通过端口&#xff0…