Kafka - Confluent - Java版本支持

3
我正在查看Apache Kafka v2.0.0,但是我无法确定它支持哪个版本的Java(OpenJDK还是Oracle JDK的新生命周期)。到目前为止,我看到了矛盾的文档。例如: 在Apache Kafka文档页面上,它说:Java 1.8,但在他们的v2.0版本发布说明中,我看到了像这样的错误修复和改进:
[KAFKA-6855] - 由于错误的Java版本检测,Kafka无法启动Java 10 [KAFKA-5907] - 支持Java 9中的aggregatedJavadoc
Confluent v5.x的文档documentation表示他们不支持9或10
Java 1.9和1.10目前在Confluent平台上不受支持。 Confluent平台的后续版本将支持这些Java版本。
但是他们的CTO在2017年11月this page上说

我们现在支持Java 9,采用更先进的TLS和CRC32C实现,速度显著提高。

由于OracleJDK的LTS生命周期不同,他们正在停止对1.8的支持。Kafka在Java支持方面做出了什么决定?我无法从文档中找到答案。我错过了什么吗?


1
“supported”和“能够运行”的概念是不同的。后者指的是JIRA票证,前者则是企业支持术语。 - OneCricketeer
5个回答

2

1

Apache Kafka v2.0.0

Apache Kafka官方文档非常清楚:

从安全角度考虑,我们建议您使用最新发布的JDK 1.8版本,因为旧版本可能存在已披露的安全漏洞。LinkedIn目前正在运行JDK 1.8 u5(寻求升级到新版本)并使用G1收集器。

2.0.0版本中的显著变化部分提到了以下内容:

支持Java 7已被取消,现在需要最低版本的Java 8。

Oracle JDK是推荐的,但openJDK或Zulu在大多数情况下也可以正常工作。

Confluent Platform 5.0.x

特别是对于Confluent Kafka

目前,Confluent平台不支持Java 1.9和1.10。未来版本的Confluent平台将支持这些Java版本。

而Confluent 5.0.x(带有Kafka v2.0.0)的最低推荐版本是JDK 1.8 → u31或更高版本。


我已经在我的问题中提到了这些文档。我的问题围绕着这些文件所给出的矛盾之处。请再次完整地阅读我的问题。 - J S
Confluent是一种不同的Kafka“分发”。您正在使用Confluent Kafka还是原始的Apache Kafka? - Giorgos Myrianthous
我理解它们的区别,但我的问题是关于Oracle JDK 1.8支持的生命周期结束。这两个发行版都没有解决新的Java生命周期问题。 - J S
正如我在答案中提到的那样,您仍然可以使用openJDK。 - Giorgos Myrianthous

0

Neha Narkhede的博客仅涉及Kafka,而非Confluent平台。与大多数以向开源项目销售服务为模型的公司一样,Confluent的附加组件解决了其客户的需求。由于大多数客户可能正在运行1.8版本,因此暂时无需支持9或10。

然而,开源项目必须解决Java的结束支持问题,这可以在JIRAs中看到。


0

Confluent-7.2.0支持Java 8和Java 11。如果您已经安装了其中任何一个版本,您只需要在终端中运行下面提到的命令来设置您的系统全局Java版本为11或8。

 jenv global 11.0

这里提供一个链接,您可以了解如何管理多个 java 版本。您可以安装多个版本的 java 并根据项目需求进行切换。 如何管理多个 Java 版本


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接