问题排查步骤
Canal 无法启动
(Linux)无法执行 systemctl start canal
到程序目录下直接调用启动脚本canal/bin/startup.sh
出现打印:found canal.pid …
出现其它打印,可按字面意思进行操作
未出现打印,说明 systemctl 脚本有问题,请检查 systemctl 脚本
(Linux)执行 systemctl start canal 没问题,但查状态服务已经停了
找到程序目录下 Canal 的日志:canal/logs/canal.log
翻看目标时间点时,日志打印出的错误信息,按字面意思进行操作
Canal 可以启动,但没有正常工作
假设实例名为 dataWatcher,找到程序目录下实例的日志:canal/logs/dataWatcher/dataWatcher.log
翻看目标时间点时,日志打印出的错误信息是否出现以下类似内容:
Unknow Host
errno = 1236
errorNumber=1356
connect /… failure
ClosedByInterruptException,此为正常异常,可忽略
dump address /… has an error, retrying. caused by java.lang.IllegalArgumentException: null
现象解释及可能原因
found canal.pid
Canal 启动脚本发现 bin 目录下存在 pid 文件,认为程序已启动,不允许再重复启动
TODO 插图
可能的操作原因
服务器直接断电等,Canal 不能正常关闭
修复
停掉还在的 Canal 进程
手动删掉 bin 目录下的 pid 文件
启动 Canal
Unknow Host
Canal 找不到目标 host 的信息
可能的操作原因
系统