记一次canal除坑记录

记一次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.mzph.cn/news/599621.shtml

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

相关文章

202402读书笔记|《当你老了》——灰蒙曙光比爱情温柔,清晨露珠比希望更可爱

202402读书笔记|《当你老了》——灰蒙曙光比爱情温柔,清晨露珠比希望更可爱 《当你老了》作者叶芝,断断续续碎片时间读完的一本书,不是很惊艳,但值得一读。就因为很喜欢当你老了,所以拾起的这本书。读完知道了原来叶芝…

什么是软件安全性测试?如何进行安全测试?

一、什么是软件安全性测试? 软件安全性测试是指对软件系统中的安全漏洞进行检测和评估的过程。其目的是为了确保软件系统在面对各种安全威胁时能够保持其功能的完整性、可用性和机密性。 二、软件安全性测试可以通过以下几个步骤来进行: 1. 需求分析&a…

[实践总结] 限制正则表达式匹配次数/时间 防止DoS攻击

思路 1、优化正则表达式 2、正则表达式无法优化的话,可以考虑限制匹配次数,或者限制匹配时间 限制 匹配次数 public class CountedCharSequence implements CharSequence {private final CharSequence charSequence;private long count;public Counte…

51单片机四位数码管计算器 Proteus仿真程序

目录 概要 仿真图 部分代码 资料下载地址:51单片机四位数码管计算器 Proteus仿真程序 概要 1.系统通过4x4的矩阵键盘输入数字及运算符。 2.可以进行4位十进制数以内的加法运算,如果计算结果超过4位十进制数,则屏幕显示E 3.可以进行加法以外…

LowB三人组(冒泡排序,插入排序,选择排序)(数据结构课设篇1,python版)(排序综合)

本章博客主要详细讲解一下LowB三人组排序,为什么叫LowB三人组呢?因为他们的时间复杂度都为O(n^2)。下篇博客会再讲解NB三人组(堆排序,归并排序和快速排序),第三篇博客会讲解其他排序…

算法每日一题:队列中可以看到的人数 | 单调栈

大家好,我是星恒 今天是一道困难题,他的题解比较好理解,但是不好想出来,接下来就让我带大家来捋一捋这道题的思路,以及他有什么特征 题目:leetcode 1944有 n 个人排成一个队列,从左到右 编号为 …

Spring国际化的应用及原理详解

1. 简介 Spring国际化(Spring Internationalization,简称i18n)是Spring框架提供的一种机制,用于支持多语言的应用程序。它使得开发者能够轻松地在应用程序中实现不同语言的支持,从而满足全球化的需求。通过Spring国际…

面试必问究极重点之HashMap的底层原理

1.底层数据结构 JDK版本不同的数据结构 1.7 数组 链表 1.8 数组 (链表 | 红黑树) 2.添加数据put 在添加一个值的时候,首先会计算他的hash码,然后进行二次hash,在对当前长度取模得到在底层数组中的索引位置当取模完…

浅谈软件架构设计

软件架构基本知识: 关于软件架构,其实没有一个特定的定论。之所以要有软件架构,个人觉得是从逻辑上抽象出一些通用的设计模式,设计方法,开发框架,实现步骤,工程管理等。从容让软件开发&#xff…

electron——查看electron的版本(代码片段)

electron——查看electron的版本(代码片段)1.使用命令行: npm ls electron 操作如下: 2.在软件内使用代码,如下: console.log(process) console.log(process.versions.electron) process 里包含很多信息: process详…

【Linux】——基本指令(二)

💗个人主页💗 ⭐个人专栏——数据结构学习⭐ 💫点击关注🤩一起学习C语言💯💫 目录 导读:1. vim 指令2. head指令3. tail指令4. tree指令5. 输出重定向6. echo指令7. wc指令8. | 字符9. date指令…

PCIe 6.0生态业内进展分析总结

上一篇,我们针对PCIe 6.0的功能更新与实现挑战做了简单的分析与总结。更多详细内容可以参考: 扩展阅读:浅析PCIe 6.0功能更新与实现的挑战 那么,PCIe 6.0已经发布了一段时间了,业内硬件支持PCIe 6.0目前有哪些进展呢…

Spring Security 6.x 系列(13)—— 会话管理之会话概念及常用配置

一、会话概念 在实现会话管理之前,我们还是先来了解一下协议和会话的概念,连协议和会话都不知道是啥,还谈啥管理。 1.1 http 协议 因为我们现在的会话,基本上都是基于HTTP协议的,所以在讲解会话之前,我再带各位复习一下HTTP协议。 1.1.1 概念 HTTP:超文本传输协议(…

uniapp获取日期

1.使用new Date()方法获取系统今天的日期&#xff0c;显示格式为&#xff1a;2023-10-28 <template><view class"content">{{date}}</view> </template> <script>export default {data() {return {date: new Date().toISOString().sl…

python开发案例教程-清华大学出版社(张基温)答案(4.2)

目录 练习 4.2 1. 代码分析题 2. 程序设计题 练习 4.2 1. 代码分析题 阅读下面的代码&#xff0c;给出输出结果。 &#xff08;1&#xff09; class A:def __init__(self,a,b,c):self.xabca A(3,5,7);b getattr(a,x);setattr(a,x,b3);print(a.x)18 &#xff08;2&…

python 正则-常见题目

1、邮箱 print(re.findall(r[\w-][\w-]\.[\w-], weidianqq.com))2、身份证号 xxxxxx yyyy MM dd 375 0 十八位 print(re.findall(r(?:18|19|(?:[23]\d))\d{2}, 2010)) # 年print(re.findall(r(?:0[1-9])|10|11|12, 11)) # 月print(re.findall(r(?:[0-2][1-9])|10|20|30|3…

面试算法93:最长斐波那契数列

题目 输入一个没有重复数字的单调递增的数组&#xff0c;数组中至少有3个数字&#xff0c;请问数组中最长的斐波那契数列的长度是多少&#xff1f;例如&#xff0c;如果输入的数组是[1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;5&#xff0c;6&#xff0c;7&#x…

外包干了5个月,技术明显退步了...

先说一下自己的情况&#xff0c;本科生&#xff0c;19年通过校招进入湖南某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年12月份&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测…

周鸿祎分享大模型十大趋势:2024将出现杀手级应用

1月5日&#xff0c;“2023年风马牛年终秀”上&#xff0c;三六零&#xff08;601360.SH&#xff0c;下称“360”&#xff09;集团创始人周鸿祎分享了对2024年大模型发展趋势的十大预测&#xff0c;呼吁企业树立AI信仰&#xff0c;All in AI。他认为&#xff0c;创新才能破局&am…

ctfshow——信息搜集

文章目录 web 1web 2web 3web 4web 5web 6web 7web 8web 9web 10web 11web 12web 13web 14web 15web 16web 17web 18web 19web 20 web 1 题目提示开发注释未及时删除。 直接右键查看源代码。 web 2 在这关我们会发现&#xff1a;1&#xff09;无法使用右键查看源代码&…