canal 重启后不同步数据

我把canal重启了,然后不同步数据了
service中的logs/resourcesearch/resourcesearch.log文件报错

2021-03-04 09:44:22.399 [main] INFO  c.a.otter.canal.instance.spring.CanalInstanceWithSpring - start CannalInstance for 1-resourcesearch 
2021-03-04 09:44:22.410 [main] WARN  c.a.o.canal.parse.inbound.mysql.dbsync.LogEventConvert - --> init table filter : ^zhqc_aj\..*$
2021-03-04 09:44:22.411 [main] WARN  c.a.o.canal.parse.inbound.mysql.dbsync.LogEventConvert - --> init table black filter : ^mysql\.slave_.*$
2021-03-04 09:44:22.567 [destination = resourcesearch , address = /10.10.77.228:3306 , EventParser] WARN  c.a.o.c.p.inbound.mysql.rds.RdsBinlogEventParserProxy - ---> begin to find start position, it will be long time for reset or first position
2021-03-04 09:44:22.603 [main] INFO  c.a.otter.canal.instance.core.AbstractCanalInstance - start successful....
2021-03-04 09:44:22.640 [destination = resourcesearch , address = /10.10.77.228:3306 , EventParser] ERROR c.a.o.canal.parse.inbound.mysql.dbsync.DirectLogFetcher - I/O error while reading from client socket
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) ~[canal.parse-1.1.5-SNAPSHOT.jar:na]
	at com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.seek(MysqlConnection.java:144) [canal.parse-1.1.5-SNAPSHOT.jar:na]
	at com.alibaba.otter.canal.parse.inbound.mysql.MysqlEventParser.findAsPerTimestampInSpecificLogFile(MysqlEventParser.java:760) [canal.parse-1.1.5-SNAPSHOT.jar:na]
	at com.alibaba.otter.canal.parse.inbound.mysql.MysqlEventParser.findPositionWithMasterIdAndTimestamp(MysqlEventParser.java:410) [canal.parse-1.1.5-SNAPSHOT.jar:na]
	at com.alibaba.otter.canal.parse.inbound.mysql.MysqlEventParser.findStartPositionInternal(MysqlEventParser.java:455) [canal.parse-1.1.5-SNAPSHOT.jar:na]
	at com.alibaba.otter.canal.parse.inbound.mysql.MysqlEventParser.findStartPosition(MysqlEventParser.java:369) [canal.parse-1.1.5-SNAPSHOT.jar:na]
	at com.alibaba.otter.canal.parse.inbound.AbstractEventParser$3.run(AbstractEventParser.java:194) [canal.parse-1.1.5-SNAPSHOT.jar:na]
	at java.lang.Thread.run(Thread.java:748) [na:1.8.0_275]
2021-03-04 09:44:22.641 [destination = resourcesearch , address = /10.10.77.228:3306 , EventParser] ERROR c.a.o.c.p.inbound.mysql.rds.RdsBinlogEventParserProxy - ERROR ## findAsPerTimestampInSpecificLogFile has an error
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) ~[canal.parse-1.1.5-SNAPSHOT.jar:na]
	at com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.seek(MysqlConnection.java:144) ~[canal.parse-1.1.5-SNAPSHOT.jar:na]
	at com.alibaba.otter.canal.parse.inbound.mysql.MysqlEventParser.findAsPerTimestampInSpecificLogFile(MysqlEventParser.java:760) [canal.parse-1.1.5-SNAPSHOT.jar:na]
	at com.alibaba.otter.canal.parse.inbound.mysql.MysqlEventParser.findPositionWithMasterIdAndTimestamp(MysqlEventParser.java:410) [canal.parse-1.1.5-SNAPSHOT.jar:na]
	at com.alibaba.otter.canal.parse.inbound.mysql.MysqlEventParser.findStartPositionInternal(MysqlEventParser.java:455) [canal.parse-1.1.5-SNAPSHOT.jar:na]
	at com.alibaba.otter.canal.parse.inbound.mysql.MysqlEventParser.findStartPosition(MysqlEventParser.java:369) [canal.parse-1.1.5-SNAPSHOT.jar:na]
	at com.alibaba.otter.canal.parse.inbound.AbstractEventParser$3.run(AbstractEventParser.java:194) [canal.parse-1.1.5-SNAPSHOT.jar:na]
	at java.lang.Thread.run(Thread.java:748) [na:1.8.0_275]
2021-03-04 09:44:22.644 [destination = resourcesearch , address = /10.10.77.228:3306 , EventParser] ERROR c.a.o.c.p.inbound.mysql.rds.RdsBinlogEventParserProxy - dump address /10.10.77.228:3306 has an error, retrying. caused by 
com.alibaba.otter.canal.parse.exception.CanalParseException: [fixed timestamp] can't found begin/commit position before with fixed positionmall-mysql-bin.000001:4
2021-03-04 09:44:22.648 [destination = resourcesearch , address = /10.10.77.228:3306 , EventParser] ERROR com.alibaba.otter.canal.common.alarm.LogAlarmHandler - destination:resourcesearch[com.alibaba.otter.canal.parse.exception.CanalParseException: [fixed timestamp] can't found begin/commit position before with fixed positionmall-mysql-bin.000001:4
]
2021-03-04 09:44:36.986 [destination = resourcesearch , address = /10.10.77.228:3306 , EventParser] WARN  c.a.o.c.p.inbound.mysql.rds.RdsBinlogEventParserProxy - ---> begin to find start position, it will be long time for reset or first position
2021-03-04 09:44:36.993 [destination = resourcesearch , address = /10.10.77.228:3306 , EventParser] ERROR c.a.o.canal.parse.inbound.mysql.dbsync.DirectLogFetcher - I/O error while reading from client socket
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) ~[canal.parse-1.1.5-SNAPSHOT.jar:na]
	at com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.seek(MysqlConnection.java:144) [canal.parse-1.1.5-SNAPSHOT.jar:na]
	at com.alibaba.otter.canal.parse.inbound.mysql.MysqlEventParser.findAsPerTimestampInSpecificLogFile(MysqlEventParser.java:760) [canal.parse-1.1.5-SNAPSHOT.jar:na]
	at com.alibaba.otter.canal.parse.inbound.mysql.MysqlEventParser.findPositionWithMasterIdAndTimestamp(MysqlEventParser.java:410) [canal.parse-1.1.5-SNAPSHOT.jar:na]
	at com.alibaba.otter.canal.parse.inbound.mysql.MysqlEventParser.findStartPositionInternal(MysqlEventParser.java:455) [canal.parse-1.1.5-SNAPSHOT.jar:na]
	at com.alibaba.otter.canal.parse.inbound.mysql.MysqlEventParser.findStartPosition(MysqlEventParser.java:369) [canal.parse-1.1.5-SNAPSHOT.jar:na]
	at com.alibaba.otter.canal.parse.inbound.AbstractEventParser$3.run(AbstractEventParser.java:194) [canal.parse-1.1.5-SNAPSHOT.jar:na]
	at java.lang.Thread.run(Thread.java:748) [na:1.8.0_275]
2021-03-04 09:44:36.993 [destination = resourcesearch , address = /10.10.77.228:3306 , EventParser] ERROR c.a.o.c.p.inbound.mysql.rds.RdsBinlogEventParserProxy - ERROR ## findAsPerTimestampInSpecificLogFile has an error
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) ~[canal.parse-1.1.5-SNAPSHOT.jar:na]
	at com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.seek(MysqlConnection.java:144) ~[canal.parse-1.1.5-SNAPSHOT.jar:na]
	at com.alibaba.otter.canal.parse.inbound.mysql.MysqlEventParser.findAsPerTimestampInSpecificLogFile(MysqlEventParser.java:760) [canal.parse-1.1.5-SNAPSHOT.jar:na]
	at com.alibaba.otter.canal.parse.inbound.mysql.MysqlEventParser.findPositionWithMasterIdAndTimestamp(MysqlEventParser.java:410) [canal.parse-1.1.5-SNAPSHOT.jar:na]
	at com.alibaba.otter.canal.parse.inbound.mysql.MysqlEventParser.findStartPositionInternal(MysqlEventParser.java:455) [canal.parse-1.1.5-SNAPSHOT.jar:na]
	at com.alibaba.otter.canal.parse.inbound.mysql.MysqlEventParser.findStartPosition(MysqlEventParser.java:369) [canal.parse-1.1.5-SNAPSHOT.jar:na]
	at com.alibaba.otter.canal.parse.inbound.AbstractEventParser$3.run(AbstractEventParser.java:194) [canal.parse-1.1.5-SNAPSHOT.jar:na]
	at java.lang.Thread.run(Thread.java:748) [na:1.8.0_275]
2021-03-04 09:44:36.994 [destination = resourcesearch , address = /10.10.77.228:3306 , EventParser] ERROR c.a.o.c.p.inbound.mysql.rds.RdsBinlogEventParserProxy - dump address /10.10.77.228:3306 has an error, retrying. caused by 
com.alibaba.otter.canal.parse.exception.CanalParseException: [fixed timestamp] can't found begin/commit position before with fixed positionmall-mysql-bin.000001:4
2021-03-04 09:44:36.995 [destination = resourcesearch , address = /10.10.77.228:3306 , EventParser] ERROR com.alibaba.otter.canal.common.alarm.LogAlarmHandler - destination:resourcesearch[com.alibaba.otter.canal.parse.exception.CanalParseException: [fixed timestamp] can't found begin/commit position before with fixed positionmall-mysql-bin.000001:4
]
2021-03-04 09:44:55.618 [destination = resourcesearch , address = /10.10.77.228:3306 , EventParser] WARN  c.a.o.c.p.inbound.mysql.rds.RdsBinlogEventParserProxy - ---> begin to find start position, it will be long time for reset or first position
2021-03-04 09:44:55.626 [destination = resourcesearch , address = /10.10.77.228:3306 , EventParser] ERROR c.a.o.canal.parse.inbound.mysql.dbsync.DirectLogFetcher - I/O error while reading from client socket
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) ~[canal.parse-1.1.5-SNAPSHOT.jar:na]
	at com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.seek(MysqlConnection.java:144) [canal.parse-1.1.5-SNAPSHOT.jar:na]
	at com.alibaba.otter.canal.parse.inbound.mysql.MysqlEventParser.findAsPerTimestampInSpecificLogFile(MysqlEventParser.java:760) [canal.parse-1.1.5-SNAPSHOT.jar:na]
	at com.alibaba.otter.canal.parse.inbound.mysql.MysqlEventParser.findPositionWithMasterIdAndTimestamp(MysqlEventParser.java:410) [canal.parse-1.1.5-SNAPSHOT.jar:na]
	at com.alibaba.otter.canal.parse.inbound.mysql.MysqlEventParser.findStartPositionInternal(MysqlEventParser.java:455) [canal.parse-1.1.5-SNAPSHOT.jar:na]
	at com.alibaba.otter.canal.parse.inbound.mysql.MysqlEventParser.findStartPosition(MysqlEventParser.java:369) [canal.parse-1.1.5-SNAPSHOT.jar:na]
	at com.alibaba.otter.canal.parse.inbound.AbstractEventParser$3.run(AbstractEventParser.java:194) [canal.parse-1.1.5-SNAPSHOT.jar:na]
	at java.lang.Thread.run(Thread.java:748) [na:1.8.0_275]

重点log
java.io.IOException: Received error packet: errno = 1236, sqlstate = HY000 errmsg = Could not find first log file name in binary log index file

ERROR com.alibaba.otter.canal.common.alarm.LogAlarmHandler - destination:resourcesearch[com.alibaba.otter.canal.parse.exception.CanalParseException: [fixed timestamp] can’t found begin/commit position before with fixed positionmall-mysql-bin.000001:4
]
按照网上的教程 https://blog.csdn.net/jingshenbusi/article/details/79920925

删除 meta.dat 重启无效

网上也没有好的办法,就去查canal的配置文件
就这篇: https://www.cnblogs.com/jager/p/6594941.html

看到配置

# position info,需要改成自己的数据库信息
canal.instance.master.address = 172.16.0.158:3306 
canal.instance.master.journal.name = 
canal.instance.master.position = 
canal.instance.master.timestamp = 
 
#canal.instance.standby.address = 
#canal.instance.standby.journal.name =
#canal.instance.standby.position = 
#canal.instance.standby.timestamp =

发现 canal.instance.master.journal.name 后面是空的
然后自己的配置文件 instance.properties 中是
canal.instance.master.journal.name=mall-mysql-bin.000001
而报错的内容是:can’t found begin/commit position before with fixed positionmall-mysql-bin.000001:4
就把配置文件中
canal.instance.master.journal.name=mall-mysql-bin.000001
修改为 canal.instance.master.journal.name=

重启完事!!!

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值