分布式-负载平衡任务

ne5o7dgx  于 2021-06-04  发布在  Kafka
关注(0)|答案(1)|浏览(473)

我正在运行confluent kafka的开发环境,windows社区版,版本3.0.1-2.11。我正在尝试在连接器的两个示例之间实现任务的负载平衡。我在同一台机器上运行kafka zookepper、服务器、rest服务和2个connect示例。连接器的属性文件之间的唯一区别是rest端口,因为它们在同一台计算机上运行。我不为连接器偏移量、配置、状态创建主题。我应该吗?我有Flume连接器的自定义代码。
当我为我的接收器连接器创建worker时,我通过执行post请求来完成

POST http://localhost:8083/connectors

朝向任何正在运行的连接器。正在检查是否在url上完成了已加载的工作进程

GET http://localhost:8083/connectors

我的接收器连接器在代码中有system.out.println()行,我可以使用这些行跟踪控制台日志中代码的输出。当我的worker运行时,我可以看到只有一个connector示例在执行代码。如果我终止一个连接器,另一个示例将接管这个工作进程并继续执行。但这不是我想要的。我的目标是两个连接器示例都运行辅助代码,以便它们可以在它们之间共享负载。我试着克服一些开源连接器,看看在编写连接器代码时是否有细节,但没有成功。
我做了一些不同的尝试来解决这个问题,但没有成功。我可以重写我的业务代码来解决这个问题,但我很肯定我错过了一些不明显的东西。最近我评论了罗宾·莫法特对这个问题的回答。

new9mtju

new9mtju1#

从它的声音来看,您的自定义代码没有正确生成您所期望的任务数。
确保你已设置 tasks.max >配置中的1
确保连接器正确地创建了要执行的适当数量的任务 taskConfigs 参考文献:
https://opencredo.com/blogs/kafka-connect-source-connectors-a-detailed-guide-to-connecting-to-what-you-love/
https://docs.confluent.io/current/connect/devguide.html
https://enfuse.io/a-diy-guide-to-kafka-connectors/

相关问题