canal错误集锦
canal错误集锦
雅冰石
DBA
展开
-
com.alibaba.otter.canal.client.impl.ServerNotFoundException: no alive canal server for ucs_sf_to_qg_
一 问题描述canal client日志报错:com.alibaba.otter.canal.client.impl.ServerNotFoundException: no alive canal server for ucs_sf_to_qg_mariadb二 解决办法先尝试重启了canal server,但发现还是不行,后来重启了canal client好了。...原创 2022-04-03 04:29:17 · 912 阅读 · 2 评论 -
安装完canal后,启动canal失败
一 问题描述安装完canal后,发现canal没有启动,看不到canal进程,canal-client/logs下也没有生成adapter目录二 排查思路修改canal-client/bin/startup.sh,将日志输出到指定文件里,进行查看修改前:$JAVA $JAVA_OPTS $JAVA_DEBUG_OPT $ADAPTER_OPTS -classpath .:$CLASSPATH com.alibaba.otter.canal.adapter.launcher.CanalAd原创 2022-03-04 13:48:06 · 4583 阅读 · 0 评论 -
java.langRuntimeException:Target column:__#alibaba_rds_row_id#__ not matched
一 问题描述配置rds到mariadb同步,canal client日志报错:二 出错原因该表没有建主键。AliSQL 针对用户没有建 PK 的表,默认添加一个隐含主键。示例:mysql> show create table t\G*************************** 1. row *************************** Table: tCreate Table: CREATE TABLE `t` ( `id` int(1.原创 2021-12-09 19:15:49 · 1360 阅读 · 0 评论 -
canal同步中源端数据类型为tinyint(1)的字段同步异常-目标端值变为1
一 问题描述canal同步中有一个表t51,其中名为id2的字段数据类型为tinyint(1),发现往这个字段里插入大于1的值时,目标端该字段值都为1,和源端值不一致。示例:在源端执行:INSERT INTO t51(id,id2) VALUES(1,3);目标端t51的id2值为1,不是3。canal client里adapter.log输出的日志能看到insert语句id2值是3,但是mariadb的binlog日志中记录的id2位1。二 解决办法调大该字段的长度,至少变原创 2021-09-15 16:53:12 · 564 阅读 · 2 评论 -
canal同步报错Target column: NAME not matched
一 问题描述我们canal有个这样的使用场景:从多个源端同步相同的表数据到同一个目标端进行数据的统一展示。但是发现在源端1删除字段的后,其他源端的canal client日志会报错:Target column: NAME not matched此后,这个表的sql操作(如insert,即使不往该删除的字段插入数据)无法进行同步。二 如何规避在多个源端往同一目标端进行canal同步的场景下,禁止drop字段。...原创 2021-09-15 11:24:22 · 1350 阅读 · 0 评论 -
canal同步报错:Duplicate column name ‘name2‘
一 问题描述我们canal有个这样的使用场景:从多个源端同步相同的表数据到同一个目标端进行数据的统一展示。但是发现在源端1添加字段的时候,目标端能正常增加字段。但是在其他源端添加该字段,这时canal client日志会报错:ERROR c.a.otter.canal.adapter.launcher.loader.AdapterProcessor - java.lang.RuntimeException: com.mysql.jdbc.exceptions.jdbc4.MySQLSynta原创 2021-09-15 11:13:26 · 959 阅读 · 0 评论 -
The request included a message larger than the max message size the server will accept.
一 问题描述The request included a message larger than the max message size the server will accept2021-06-18 15:43:34.665 [pool-143-thread-1] ERROR c.a.o.canal.connector.kafka.producer.CanalKafkaProducer - java.util.concurrent.ExecutionException: org.apache.k原创 2021-07-29 16:35:15 · 2254 阅读 · 0 评论 -
配canal instance同步报错:java.lang.ArrayIndexOutOfBoundsException: 1
一 问题描述由于canal 1.1.4不兼容mariadb的gtid,后官网新发布的canal 1.1.5版本宣布支持mariadb的GTID,但是在验证1.1.5 canal时发现有时配置canal instance同步会报错:java.lang.ArrayIndexOutOfBoundsException: 1报错截图如下:二 出错原因通过查阅canal源代码,并debug发现,canal找gtid的时候,会去遍历该gtid所在的整个binlog文件,如果gtid_list.原创 2021-05-24 17:44:12 · 861 阅读 · 0 评论 -
Expiring 1 record(s) for canalEtl_hn-0: 30017 ms has passed since batch creation plus linger time
一 问题描述canal instance报错:Caused by: java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.TimeoutException: Expiring 1 record(s) for canalEtl_hn-0: 30017 ms has passed since batch creation plus linger time二 解决办法修改canal server的/etc/h原创 2021-01-19 08:51:16 · 3532 阅读 · 1 评论 -
canal目标端数据中文乱码
一 问题描述用canal从源端往目标端同步数据,发现中文乱码,如‘丹丹’,变成了??,而目标端数据库,表,字段的字符集都是utf8,手动在目标端插入中文数据,也没乱码。二 解决办法2.1 检查canal instance的字符集配置canal.instance.connectionCharset = UTF-82.2 检查canal client的字符集配置检查是否有配置characterEncoding=utf-8...原创 2021-02-05 14:19:00 · 1751 阅读 · 0 评论 -
canal无法往kafka同步,报错TimeoutException: Failed to update metadata after 60000 ms
一 问题描述canal往kafka同步报错,数据无法同步。canal instance报错:ERROR com.alibaba.otter.canal.kafka.CanalKafkaProducer - java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 mscanal server也有报错:原创 2021-03-23 11:02:48 · 4831 阅读 · 0 评论 -
canal无法往kafka同步数据,日志无报错
一 问题描述发现同一个canal instance里,其中一个表操作可以正常同步到kafka,另一个表则不行。日志也没报错。不能同步的表最近的操作有修改表结构(增加了一个字段)。二 出错原因binlog filter config配置得不正确:# binlog filter configcanal.instance.filter.druid.ddl = truecanal.instance.filter.query.dcl = truecanal.instance.filter.q原创 2021-03-23 11:08:41 · 1968 阅读 · 0 评论 -
canal olumn size is not match for table:,6 vs 5
一 问题描述canal同步报错:2021-03-29 14:50:12.340 [MultiStageCoprocessor-Parser-kf-canalServer-GTM-TQMS-1] ERROR com.alibaba.otter.canal.common.utils.NamedThreadFactory - from MultiStageCoprocessor-Parser-kf-canalServer-GTM-TQMS-1com.alibaba.otter.canal.parse.e转载 2021-03-29 15:08:38 · 626 阅读 · 2 评论 -
canal 1.1.5实现mariadb主库故障后自动切换到从库继续同步
一 实验背景canal有一个参数canal.instance.standby.address可以指定源端数据库的从库为备选数据库,当源端master宕机后,canal仍能指向备库进行同步。但是发现canal 1.1.4不兼容mariadb的gtid:当canal instance里指定了gtid(示例:canal.instance.master.gtid=0-1-146),重启canal instance会报错,不识别这种gtid格式:ERROR com.alibaba.otter.canal原创 2021-04-22 10:13:08 · 1379 阅读 · 0 评论