我正在尝试创建一个Kafka制作人,它向Kafka经纪人(而不是Zookeeper)发送消息。
我知道更好的做法是使用zk,但目前我想直接向代理发送消息。
为此,我设置了文档中描述的属性“broker.list”。问题是,为了让它工作,它至少需要3个代理(否则我会得到一个例外)。
在Kafka的源代码中我可以看到:
if(brokerInfo.size < 3) throw new InvalidConfigException("broker.list has invalid value")
这很奇怪,因为在我的数据中心,我只有2个kafka节点(和3个zk),在这种情况下我能做什么?有办法解决这个问题吗?
2条答案
按热度按时间2wnc66cl1#
显然在写作的时候
它可以工作(我在原始字符串中添加了“0:”。我在快速入门指南的第9节中找到了它。
我不确定我是否得到它,也许这个零是分区号(?)也许是其他的东西(如果有人能在这里透露一些信息就好了)。
7nbnzgx92#
这个
brokerInfo
是通过拆分单个经纪人信息而不是经纪人数量获得的。。如果你仔细检查源代码,你会发现// check if each individual broker info is valid => (brokerId: brokerHost: brokerPort)
然后他们把这些信息分为因此,每个代理都需要一个id,其中主机名和端口由
:
分隔符基本上关于经纪人的数量,它只是这样做
所以我想你应该没问题,只要通过一个经纪人就行了。告诉我们进展如何