我想在Mesos上运行多个Kafka经纪人作为马拉松工作。我在想什么作为经纪人ID使用。我知道有些人正在使用基于IP的代理ID,但我读到这种方法对于将代理迁移到不同的机器时的情况并不是最佳的。任何见解?
与此相关,是否有办法以一种方式对Kafka代理进行滚动部署,以便Marathon在杀死它们之前等待旧代理实例将数据复制到新代理。
答案 0 :(得分:2)
我创建了一个Docker image,它可以从Marathon开始,也可以向上和向下扩展。为了获得唯一的代理ID,我将IP地址的最后一个八位字节和Marathon设计的端口号连接到Docker容器。
我知道这不应该是一个问题,因为通常客户端通过ZooKeeper连接,ZooKeeper本身有节点及其连接信息,因此您不需要处理细节。或者我误解了这个问题......
看看