弹窗网站制作器,国内重大新闻事件摘抄,wordpress导航栏,网页升级无法自动更新记一次canal除坑记录
错误信息 Caused by :com.alibaba.otter.canal.parse.exception.CanalParseException: column size is not match for table 问题处理
今天对Canal相关程序进行升级#xff0c;原监听的表及业务都正常#xff1b;遇到新增加的表时总是不走#xff1b;…记一次canal除坑记录
错误信息 Caused by :com.alibaba.otter.canal.parse.exception.CanalParseException: column size is not match for table 问题处理
今天对Canal相关程序进行升级原监听的表及业务都正常遇到新增加的表时总是不走 因为我们开发的程序都记过测试环境自测所以直接从线上canal的日志开始排查问题 canal错误日志截图 从错误看表字段数不对以为时程序开很长时间了canal缓存了之前的表结构但是canal跑了2年左右了啥时候缓存的已经不知道了随对canal进行重启但是问题依旧随针对问题进行网上检索 找到了CanalParseException: column size is not match for table 标题和错误一致查看和我们初步分析一致 canal缓存的表结构出现了不一致的情况 随后依次按照文档的处理办法进行处理
停止canal相关程序和Canal服务找到conf/canal.properties 将canal.instance.tsdb.enable设置为false删除$CANAL_HOME/conf/目标数据库实例标识/h2.mv.db文件最后启动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_SIZE1000;MODEMYSQL;说明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采坑大全