Caused by: com.alibaba.otter.canal.parse.exception.CanalParseException: com.google.common.collect.ComputationException: com.alibaba.otter.canal.parse.exception.CanalParseException: fetch failed by table meta:expert.bak_TB_ZXJ_ADVICE_COLLECT_ACTIVITY Caused by: com.google.common.collect.ComputationException...
现在解决了,可以通过配置filterTableError=true来忽略掉这个异常,这样instance的线程就可以继续运行下去 ...
尝试一下最新版的,启用TSDB可以解决这个问题
Caused by: com.alibaba.otter.canal.parse.exception.CanalParseException: com.google.common.collect.ComputationException: com.alibaba.otter.canal.parse.exception.CanalParseException: fetch failed by table meta:test.test Caused by: com.google.common.collect.ComputationException: com.alibaba.otter.canal.parse...
fetch failed by table meta:`cygg`.`data_trace_zijinjiemi_zhuli`5Caused by: java.io.IOException: ErrorPacket [errorNumber=1142, fieldCount=-1, message=SHOW command denied to user 'binlog'@'127.0.0.1'fortable 'data_trace_zijinjiemi_zhuli', sqlState=42000, sqlStateMarker=#]6with command...
Caused by: com.alibaba.otter.canal.parse.exception.CanalParseException: com.alibaba.otter.canal.parse.exception.CanalParseException: fetch failed by table meta:`ucenter_test_bkuz_0000`.`__drds__systable__leadership__` Caused by: com.alibaba.otter.canal.parse.exception.CanalParseException: fetch fai...
fetch failed by table meta:schemeName.tableName 查了一下说是由于表删除,或者表结构变更引起的解析错误,增加一条配置就可以解决: 代码语言:txt 复制 canal.instance.filter.table.error=true 加上之后,报错信息的确都没有了,但消费出来的数据没有 ROWDATA,这个地方确实困扰了我很长时间。
Causedby:com.alibaba.otter.canal.parse.exception.CanalParseException:fetch failedbytable meta:`mysql`.`pds_4490277` Causedby:java.io.IOException:ErrorPacket[errorNumber=1142,fieldCount=-1,message=SELECT command deniedtouser'cy_canal'@'11.217.0.224'fortable'pds_4490277',sqlState=42000,sqlStateMarker=...
TSDB.png 一张表记录的是表结构,加上了时间,另一张记录的是当时的DDL语句。在进行回溯的时候,直接根据时间戳和binlog文件名来进行寻找即可找到。当然这些数据也会在内存中保存一份,加快速度。 具体的介绍可以见这个链接https://github.com/alibaba/canal/wiki/TableMetaTSDB。
canal.instance.filter.table.error = false canal.instance.filter.rows = false canal.instance.filter.transaction.entry = false # binlog format/image check canal.instance.binlog.format = ROW,STATEMENT,MIXED canal.instance.binlog.image = FULL,MINIMAL,NOBLOB ...