kafka消费者只能消费到部分canal传到kafka的数据
[2021-12-21 21:39:23,851] WARN [Consumer clientId=consumer-console-consumer-66962-1, groupId=console-consumer-66962] Connection to node 4 (hadoop104/192.168.100.104:9092) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)原因
按主键分区的前提下,canal设置的分区数大于kafka主题分区数量
canal设置中分区数为4,canal在kafka的主题数量是1
导致canal按主键送往相应的分区,只有部分数据送往了0号分区,因为kafka中不存在其他分区,所以接受不到canal的数据送往其他分区的数据
1、修改canal的/conf/example/instance.properties文件
确定canal.mq.partitionsNum=4
2、修改kafka的配置文件/config/server.properties文件
修改num.partitions=4 (新建topic的初始分区数尽量大于等于canal的分区)
3、因为修改了kafka的新建topic分区数量,要删除原来的主题,
关闭canal-》删除对应的主题-》重启kafka-》重启canal
启动kafka消费者,改变canal所监控的数据库的数据
可以看到所有的数据
canal送往其他分区的消息,既然kafka中没有对应的分区,为什么没有报错呢?



