我运行的是Confluent Kafka的开发环境,Windows上的社区版,版本3.0.1-2.11。我试图在连接器的两个实例之间实现任务的负载平衡。我在同一台机器上运行Kafka Zookepper、Server、REST services和2个Connect实例。连接器的属性文件之间的唯一区别是rest端口,因为它们运行在同一台机器上。我不为连接器偏移、配置、状态创建主题。我应该吗?我有水槽连接器的自定义代码。
当我为宿连接器创建工作程序时,我通过执行POST请求来完成
POST http://localhost:8083/connectors
朝向任何正在运行的连接器。在URL检查是否有加载的工人
GET http://localhost:8083/connectors
我的接收器连接器在代码中有System. out.println()行,我可以在控制台日志中跟踪我的代码输出。当我的工作人员运行时,我可以看到只有一个连接器实例正在执行代码。如果我终止一个连接器,另一个实例将接管工作人员并恢复执行。然而,这不是我想要的。我的目标是两个连接器实例都在运行工作人员代码,以便它们之间可以分担负载。我试图克服一些开源连接器,看看编写连接器代码是否有细节,但没有成功。
我做了一些不同的尝试来解决这个问题,但没有成功。我可以重写我的业务代码来解决这个问题,但我很确定我错过了一些对我来说不明显的东西。最近我对Robin Moffatt对这个问题的回答发表了评论。
从声音上看,您的自定义代码没有正确生成预期的任务数量。
tasks. max
引用: