概述
1、消息体过大,当刷数据的时候消息体过大就会报错
解决办法
第一步修改canal服务端mq的配置
canal.mq.maxRequestSize = 1048576 (默认为1m,根据需求修改)
第二部修改队列的最大消息体大小
/bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic test --config max.message.bytes=5242880
2、Deployer记录详细日志, 再instance日志可以查询到解析的日志
3、CanalParseException: parse row data failed CanalParseException: column size is not match for table
问题解决:
1、在canal.properties里面配置tsdb的mysql数据库,具体配置如下:
canal.instance.tsdb.enable = true
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.tsdb.url=jdbc:mysql://hadoop:3306/canal_tsdb
canal.instance.tsdb.dbUsername = root
canal.instance.tsdb.dbPassword = root
#canal.instance.tsdb.spring.xml = classpath:spring/tsdb/h2-tsdb.xml
canal.instance.tsdb.spring.xml = classpath:spring/tsdb/mysql-tsdb.xml
2、在数据库里面创建canal_tsdb数据库,数据库的用户需要有创建表的权限。
create database canal_tsdb;
4、Failed on my_net_write()
未解决
修改connect_timeout时长
connect_timeout 从15改到120
最后
以上就是潇洒飞鸟为你收集整理的Canal问题解析的全部内容,希望文章能够帮你解决Canal问题解析所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复