查看example日志发现异常如下:
2020-10-09 11:06:45.011 [destination = example , address = /10.0.0.39:3306 , EventParser] ERROR com.alibaba.otter.canal.common.alarm.LogAlarmHandler - destination:example[java.io.IOException: Received error packet: errno = 1236, sqlstate = HY000 errmsg = Could not find first log file name in binary log index file
at com.alibaba.otter.canal.parse.inbound.mysql.dbsync.DirectLogFetcher.fetch(DirectLogFetcher.java:102)
at com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.dump(MysqlConnection.java:235)
at com.alibaba.otter.canal.parse.inbound.AbstractEventParser$3.run(AbstractEventParser.java:265)
at java.lang.Thread.run(Thread.java:745)
]
主要原因:
手工清理过binlog日志,没重置mysql binlog index信息
解决方法:
删除canal/conf/example/meta.dat 文件重启即可
1.停止canal
bin/stop.sh
2.进入canal/conf/example/ 目录下
rm -rf meta.dat
3. 进入bin目录
./start.sh
4.检查
tail -500f logs/example/example.log