滚动升级kafka时出错

pbwdgjma  于 2021-06-07  发布在  Kafka
关注(0)|答案(2)|浏览(638)

我已经安装了cloudera3.0.0,所以我有apachekafka版本0.11.0。我想做一个从0.11.0到1.0.0的滚动升级。我已经阅读了文档,并按照以下说明操作:
对每个代理重复:
1.1.关闭经纪人
1.2.更新代码
1.2.1.添加到server.properties:

inter.broker.protocol.version = 0.11.0

1.3重启代理
在每个服务器设置中增加协议版本:

inter.broker.protocol.version = 1.0

逐一重启代理。
当我执行步骤3时,我得到以下错误:

java.lang.IllegalArgumentException: Version `1.0` is not a valid version
    at kafka.api.ApiVersion$.$anonfun$apply$1(ApiVersion.scala:79)
    at scala.collection.MapLike.getOrElse(MapLike.scala:128)
    at scala.collection.MapLike.getOrElse$(MapLike.scala:126)
    at scala.collection.AbstractMap.getOrElse(Map.scala:59)
    at kafka.api.ApiVersion$.apply(ApiVersion.scala:79)
    at kafka.server.KafkaConfig.<init>(KafkaConfig.scala:994)
    at kafka.server.KafkaConfig$.fromProps(KafkaConfig.scala:867)
    at kafka.server.KafkaConfig$.fromProps(KafkaConfig.scala:864)
    at kafka.server.KafkaServerStartable$.fromProps(KafkaServerStartable.scala:28)
    at kafka.Kafka$.main(Kafka.scala:58)
    at kafka.Kafka.main(Kafka.scala)

然后,我试着写:

inter.broker.protocol.version=1.0.0
inter.broker.protocol.version=1.0-IV0

但我得到了同样的错误。为什么会这样?

q3aa0525

q3aa05251#

我怀疑libs中是否同时有0.11.0.0和1.0.0库。删除旧的lib文件并重试。默认情况下,即使您没有选择inter.broker.protocol.version=1.0,也会选择较新的版本。

s8vozzvw

s8vozzvw2#

似乎cloudera3.0.0与kafka 0.11.x一起出现,而不是1.0。至少根据这些信息:https://www.cloudera.com/documentation/kafka/latest/topics/kafka_packaging.html
这也适用于您的错误消息和您提供的调用堆栈:在kafka0.11中。在第79行引发异常:https://github.com/apache/kafka/blob/0.11.0/core/src/main/scala/kafka/api/apiversion.scala 在kafka 1.0中,第84行出现无效版本异常,如下所示:https://github.com/apache/kafka/blob/1.0/core/src/main/scala/kafka/api/apiversion.scala
你能再检查一下你正在运行的Kafka版本吗?也许你甚至不需要更新任何东西。一般来说,滚动更新的方式看起来是正确的。

相关问题