2025-03-11 关于canals在连接mysql和kafka时遇到的问题
环境:腾讯云centos7,mysql8.0.32,kafka3.0.0,kafka使用kraft进行管理(单机使用不想用zookeeper没有必要)
尝试使用阿里巴巴的canal,不用动kafka的配置就很好
下载canal
然后上传至服务器
配置步骤
(194条消息) 使用Canal同步MySQL数据到Kafka_canal mysql kafka_yqq love yn的博客-CSDN博客
Canal账户名:canal
密码:****
遇到的错误:
1:canal可分配jvm不够

解决方法:修改canal文件夹下/bin/start.sh中
JAVA_OPTS=”-server -Xms2gm -Xmx3g -XX:+UseG1GC -XX:MaxGCPauseMillis=250 -XX:+UseGCOverheadLimit -XX:+ExplicitGCInvokesConcurrent $JAVA_OPTS”

修改成了初始分配128m,最高256m,终于能启动了。(这些大数据软件真顶,个个都是内存杀手)
2.Canal在尝试连接到本地IP地址为127.0.0.1,端口为3306的MySQL数据库时发生了连接失败的错误。具体原由于caching_sha2_password Auth failed。可能的缘由是MySQL数据库的认证方式不支持caching_sha2_password,需要更改认证方式,或者在Canal的配置文件中进行相关设置,以支持该认证方式。
找不到具体错误的信息

大致率是这样的,

[if !supportLists]00001. [endif]
ALTER USER canalIDENTIFIED WITHmysql_native_password BY 密码 ; #更新一下用户密码
[if !supportLists]00002. [endif]
[if !supportLists]00003. [endif]
FLUSH PRIVILEGES; #刷新权限

成功同步
[if !supportLists]00004. [endif]
总结:
还是要用zookeeper,大数据平台需要大内存,分布式。(我是没用zookeeper,4g虚拟机,所有软件在一台机器上,就差把采集数据的python代码也跑在虚拟机上了)
(194条消息) mysql8.0 +canal caching_sha2_password Auth failed_GOD_WAR的博客-CSDN博客
(194条消息) canal启动错误:虚拟机内存不够 Out of Memory Error (os_linux.cpp:2640), pid=28190, tid=0x00007ff86f957700_canal启动内存不足_GOD_WAR的博客-CSDN博客
基于Canal和Kafka实现MySQL的Binlog近实时同步 – throwable – 博客园 (cnblogs.com)
(194条消息) 使用Canal同步MySQL数据到Kafka_canal mysql kafka_yqq love yn的博客-CSDN博客
Releases · alibaba/canal (github.com)
