更新时间:2024-09-11 GMT+08:00
canal解析binlog报错
场景描述
canal解析Binlog出现错误,导致拉取Binlog中断,错误信息如下:
com.alibaba.otter.canal.parse.exception.CanalParseException: java.lang.NumberFormatException:- Caused by: java.lang.NumberFormatException: - at com.alibaba.fastsql.sql.parser.Lexer.integerValue(Lexer.java:2454)
原因分析
检查GaussDB(for MySQL)的参数“binlog_rows_query_log_events”的值是否设置为1或ON。
- 目前canal只能支持ROW格式的Binlog增量订阅。
- 当GaussDB(for MySQL)的参数“binlog_rows_query_log_events”的值设置为1或ON时,会在Binlog中产生Rows_query类型的event,此类event非ROW格式,一些场景下,会导致canal出现blank topic问题,引发Binlog解析失败。
解决方案
将GaussDB(for MySQL)的参数“binlog_rows_query_log_events”的值修改为OFF,重启中断的canal任务。
父主题: 备份恢复