我对kafka连接器进行了弹性测试,并且我希望在工作人员运行时杀死它,从而终止连接器实例。最简单的方法可能是强制分布式模式在多个节点上运行,然后只杀死该节点上的工作进程(对吗?)。如何让Kafka连接spawn worker不仅仅是它所启动的节点?这是在worker config中定义的吗?
答案 0 :(得分:1)
是的,处理失败并自动重启工作负载正是Kafka Connect所能做的。您将其作为群集运行,通常每个节点一个工作线程。然后,每个工作人员运行一个或多个任务,这由Connect管理。如果工作人员死亡,则以负载平衡的方式在其他可用工作程序上重新启动它正在运行的所有任务。有关详细信息,请查看architecture reference。
要将工作程序定义为在群集中,请为它们分配相同的group.id
。有关详细信息,请参阅config docs。
答案 1 :(得分:0)
所以我最终做的是:
ps -ef | grep connect
),并看到它已在剩余节点上重新生成。 总结一下我的弹性测试,Kafka Connect似乎就像玩傻瓜一样;你可以在任何地方杀死任务或连接器,它们只会在其他地方重生。