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

相關文章
相關標籤/搜索