1,因为 mysql 版本从5.7 提高到 8.0 ,需要更改用户配置。
create user 'canal'@'%' identified by 'canal';
grant select , replication slave, replication client on *.* to 'canal'@'%';
还有改变用户鉴权方式;MySQL 8.0.3开始,身份验证插件默认使用caching_sha2_password
2,canal 有问题。 没启动。
因为是政府项目,使用的中标麒麟系统。
报错:VM option 'UseG1GC' is experimental and must be enabled via -XX:+UnlockExperimentalVMOptions.
-XX:+UseG1GC -Xss2m
startup.sh 脚本内删除- -XX:+UseG1GC ,增加 -XX:+UnlockExperimentalVMOptions 。 后续又报错 stack size 太小问题,增大就好
3,kafka 启动失败。
之前有运维启动了独立的zookeeper , 而不是 kafka 内置的zookeeper . 可能导致了这个问题。
爆错: 当前的集群id 和 meta.propoties内不一致。
方法: 在文件内修改了cluster id .
4,canal 内部的kafka producer 组件不能 更新 元数据库。
Caused by: java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms.
at org.apache.kafka.clients.producer.KafkaProducer$FutureFailure.<init>(KafkaProducer.java:1150) ~[na:na]
at org.apache.kafka.clients.producer.KafkaProducer.doSend(KafkaProducer.java:846) ~[na:na]
at org.apache.kafka.clients.producer.KafkaProducer.send(KafkaProducer.java:784) ~[na:na]
at org.apache.kafka.clients.producer.KafkaProducer.send(KafkaProducer.java:671) ~[na:na]
方法: 因为 全部组件都放在一个机器。 所以 配置了127.0.0.1,但是找不到zookeeper集群。 措施是canel 配置全部改成内网ip 。 消息进入kafka 。
5,kettle 中启动 pan.sh ,但是 启动失败。
报错:
Can't run transformation due to plugin missing
2022/11/11 15:27:10 - Kafka consumer.0 - ERROR (version 8.2.0.0-342, build 8.2.0.0-342 from 2018-11-14 10.30.55 by buildguy) : Error initializing step [Kafka consumer]
2022/11/11 15:27:10 - kafka_ktr_production - ERROR (version 8.2.0.0-342, build 8.2.0.0-342 from 2018-11-14 10.30.55 by buildguy) : Step [Kafka consumer.0] failed to initialize!
方法:根据https://forums.pentaho.com/方法,下载 pentaho-kafka-consumer 到插件文件夹。问题解决。
下载地址:https://github.com/RuckusWirelessIL/pentaho-kafka-consumer/releases/tag/v1.7
标签:canal,11,producer,na,kettle,kafka,KafkaProducer From: https://www.cnblogs.com/gao1261828/p/16881051.html