【发布时间】:2016-10-04 06:31:39
【问题描述】:
我下载了 confluent-2.0.0-2.10.5.tar.gz,因为我想要 scala 2.10 包
但 /share/java/schema-registry 中的 kafka jar 仍然是 kafka_2.11-0.9.0.0-cp1.jar
无论如何我可以得到一个干净的 2.10 scala confluent 包
【问题讨论】:
标签: apache-kafka confluent-platform
我下载了 confluent-2.0.0-2.10.5.tar.gz,因为我想要 scala 2.10 包
但 /share/java/schema-registry 中的 kafka jar 仍然是 kafka_2.11-0.9.0.0-cp1.jar
无论如何我可以得到一个干净的 2.10 scala confluent 包
【问题讨论】:
标签: apache-kafka confluent-platform
2.10指的是Kafka子包的版本,但其他子包可能使用不同的版本。
tar.gz 包使用 2.11 版本,其中不同的子包需要访问具有 Scala 依赖项的核心 Kafka jar。 (实际上,他们所依赖的版本实际上是 Kafka 支持的任何 Scala 版本,并且被认为是上游最稳定和得到良好支持的版本)。这是必要的,因为 Scala 库在不同的 Scala 版本之间不一定是二进制兼容的,这意味着 不 这样做将需要使用 Kafka 库的所有服务的多个版本,尤其是在 Debian 等平台上和基于 RPM 的发行版,即我们需要 schema-registry-2.10 和 schema-registry-2.11。相反,我们将整个 Kafka 库提供给依赖它的服务。
请注意,/share/java/kafka 下的文件仅使用 Scala 2.10,如果您需要引入客户端,可以安全地将其添加到类路径中。将 2.10 或 2.11 用于任何其他服务应该无关紧要,因为它们就是:您执行的服务。您可能需要放在类路径中的任何库(例如序列化程序)仅依赖于 Kafka 中的纯 Java 库,因此可以安全地与使用任何 Scala 版本编译的 Kafka 库一起使用。
【讨论】: