开发者社区> 问答> 正文

直接用canal.kafka-1.0.26-SNAPSHOT.tar包的时候会报一个com.alib

刚了解canal,直接用canal.kafka-1.0.26-SNAPSHOT.tar包的时候会报一个com.alibaba.druid.pool.DruidDataSource - testWhileIdle is true, validationQuery not set,但还是可以用,但在用kafka包跑CanalLauncher.java的时候出现错误

提问332.png

提问333.png

,请问是我哪里做错了吗。

配置文件信息

提问334.png

原提问者GitHub用户yanconcon

展开
收起
绿子直子 2023-05-09 08:13:09 99 0
2 条回答
写回答
取消 提交回答
  • 出现重复的slaveId,优化了一下日志输出,去掉了无用的

    原回答者GitHub用户agapple

    2023-05-09 19:38:54
    赞同 展开评论 打赏
  • 随心分享,欢迎友善交流讨论:)

    这个错误是因为Canal的配置文件中配置了testWhileIdle为true,但是没有配置validationQuery,导致Druid连接池无法正确地测试空闲连接。可以尝试在Canal的配置文件中加上validationQuery来解决这个问题。在Canal的conf文件夹下找到instance.properties文件,添加如下配置:

    canal.instance.mysql.validationQuery=select 1

    这样就可以解决testWhileIdle is true, validationQuery not set的问题了。

    至于在使用kafka包跑CanalLauncher.java时出现的错误,需要根据具体的错误信息来分析问题。建议查看Canal的日志文件,看看是否有其他错误信息,或者尝试用debug模式来调试程序。

    2023-05-09 10:25:17
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Java Spring Boot开发实战系列课程【第16讲】:Spring Boot 2.0 实战Apache Kafka百万级高并发消息中间件与原理解析 立即下载
MaxCompute技术公开课第四季 之 如何将Kafka数据同步至MaxCompute 立即下载
消息队列kafka介绍 立即下载