Canal使用报错解决办法

一、 [destination = test_cancal , address = /127.0.0.1:3306 , EventParser] WARN c.a.o.s.a.i.setl.zookeeper.termin.WarningTerminProcess - nid:1[1:canal:test_cancal:java.lang.NullPointerException
at com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.loadBinlogChecksum(MysqlConnection.java:284)
at com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.dump(MysqlConnection.java:113)
at com.alibaba.otter.canal.parse.inbound.AbstractEventParser$3.run(AbstractEventParser.java:209)
at java.lang.Thread.run(Thread.java:722)java

报错缘由:我使用的Canal版本是1.0.23, 这个是一个Canal的一个BUGmysql

解决办法:升级Canal版本至1.0.24linux

参考:http://chenchangqun.iteye.com/blog/2358960git

二、ERROR com.alibaba.otter.canal.common.alarm.LogAlarmHandler - destination:example[com.alibaba.otter.canal.parse.exception.CanalParseException: java.io.IOException: connect /127.0.0.1:3306 failure:java.io.IOException: Error When doing Client Authentication:ErrorPacket [errorNumber=1045, fieldCount=-1, message=Access denied for user 'canal'@'localhost' (using password: YES), sqlState=28000, sqlStateMarker=#]github

报错缘由:mysql版本的问题, linux yum默认安装的是mysql5.1sql

解决办法:code

mysql> use mysql 
mysql> delete from user where user=''; 
mysql> flush privileges;

参考:https://github.com/alibaba/canal/issues/146blog

 

三、Canal HA 模式下,正常关闭其中一个Canal Server,Client没法从新获取到数据it

  现象描述:Canal HA 模式下,正常关闭其中一个Canal Server, 总ZK上能够看到Canal Server切换到了另一个IP,可是client没法获取数据io

  解决办法:这个问题貌似无解,github上canal issus也有人碰到这个问题,说升级到canal-1.0.26 alpha版本,可是经验证也不行。

  issue:https://github.com/alibaba/canal/issues/581

相关文章
相关标签/搜索