canal在使用时因用户权限导致日志疯狂报错问题的解决方案
canal
alibaba/canal: Canal 是由阿里巴巴开源的分布式数据库同步系统,主要用于实现MySQL数据库的日志解析和实时增量数据订阅与消费,广泛应用于数据库变更消息的捕获、数据迁移、缓存更新等场景。
项目地址:https://gitcode.com/gh_mirrors/ca/canal
·
1、版本信息
canal 1.4.1,目前所知1.5.1还没有修复
2、官方的默认配置
由图中可知官方在默认配置时开启了实例需要用户权限认证,由文档可知当配置时就默认开启 了所以会导致疯狂报错。真正的错误原因是源码中对此用户传递的是空字符串。
2020-05-20 20:02:32.201 [Thread-3] ERROR c.a.o.canal.adapter.launcher.loader.CanalAdapterWorker - process error!
com.alibaba.otter.canal.protocol.exception.CanalClientException: something goes wrong when doing authentication: auth failed for user:
at com.alibaba.otter.canal.client.impl.SimpleCanalConnector.doConnect(SimpleCanalConnector.java:192) ~[canal.client-1.1.5-SNAPSHOT.jar:na]
at com.alibaba.otter.canal.client.impl.SimpleCanalConnector.connect(SimpleCanalConnector.java:115) ~[canal.client-1.1.5-SNAPSHOT.jar:na]
at com.alibaba.otter.canal.adapter.launcher.loader.CanalAdapterWorker.process(CanalAdapterWorker.java:88) ~[client-adapter.launcher-1.1.5-SNAPSHOT.jar:na]


3、 源码
由源码可知虽然配置了相关用户但是在集群模式下导致用户无法传递,故报用户权限认证失败。
alibaba/canal: Canal 是由阿里巴巴开源的分布式数据库同步系统,主要用于实现MySQL数据库的日志解析和实时增量数据订阅与消费,广泛应用于数据库变更消息的捕获、数据迁移、缓存更新等场景。
最近提交(Master分支:2 个月前 )
af937544 - 3 个月前
9f2fc740 - 3 个月前
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)