Apache kafka 卡夫卡0.72,最低经纪人数量
我试图创建一个制作人,向卡夫卡经纪人(而不是动物园管理员)发送消息 我知道更好的做法是使用zk,但目前我想直接向代理发送消息 为此,我将属性“broker.list”设置为。问题是,为了让它工作,它至少需要3个代理(否则我会得到一个例外) 在卡夫卡的小说中,我可以看到:Apache kafka 卡夫卡0.72,最低经纪人数量,apache-kafka,Apache Kafka,我试图创建一个制作人,向卡夫卡经纪人(而不是动物园管理员)发送消息 我知道更好的做法是使用zk,但目前我想直接向代理发送消息 为此,我将属性“broker.list”设置为。问题是,为了让它工作,它至少需要3个代理(否则我会得到一个例外) 在卡夫卡的小说中,我可以看到: if(brokerInfo.size < 3) throw new InvalidConfigException("broker.list has invalid value") if(brokerInfo.size(b
if(brokerInfo.size < 3) throw new InvalidConfigException("broker.list has invalid value")
if(brokerInfo.size<3)抛出新的InvalidConfigException(“broker.list具有无效值”)
这很奇怪,因为在我的数据中心,我只有2个kafka节点(和3个zk),在这种情况下我能做什么?
有办法解决这个问题吗 经纪人信息
brokerInfo
是通过拆分个人经纪人信息和非经纪人数量获得的。。如果您更仔细地检查源代码,您将看到如下内容
//检查每个代理信息是否有效=>(brokerrid:brokerHost:brokerPort)
然后他们将这些信息拆分如下
brokerInfoList.foreach { bInfo =>
val brokerInfo = bInfo.split(":")
if(brokerInfo.size < 3) throw new InvalidConfigException("broker.list has invalid value")
}
所以我想你应该对这没问题,只要试着通过一个经纪人就行了。写的时候让我们知道它的进展情况
props.put("broker.list", "0:" + <host:port>);
props.put(“broker.list”,“0:+);
它可以工作(我在原始字符串中添加了“0:”。
我在《公约》第9节中找到了它
我不确定我是否得到了它,可能这个零是分区号(?)可能是其他的东西(如果有人能在这里透露一些信息可能会很好)。你是对的,这就是为什么我在代理标识符中添加了“0:”部分时它起了作用。可能这是包含代理信息的映射的键(尽管我不确定)。。如果对多个代理使用相同的
id
,会发生什么情况。。e、 gprops.put(“broker.list”,“0:broker1:9092,0:broker2:9092”)代码>。。我希望能从那里得到一些线索
props.put("broker.list", "0:" + <host:port>);