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