问题
I am looking at Apache Kafka v2.0.0 and I can't figure out what version of java it supports (OpenJDK or Oracle JDK's new lifecycle)? So far I have seen conflicting documentations. For example: In Apache Kafka Documentation page it says: Java 1.8, however in their release notes for v2.0 I see the bug fixes and improvement like:
- [KAFKA-6855] - Kafka fails to start with Java 10 due to faulty Java version detection
- [KAFKA-5907] - Support aggregatedJavadoc in Java 9
Confluent v5.x documentation says they don't support 9 or 10
Java 1.9 and 1.10 are not currently supported in Confluent Platform. Later versions of Confluent Platform will support these Java versions.
but their CTO in Nov 2017 on this page says
"We now support Java 9, leading, significantly faster TLS and CRC32C implementations"
Knowing Oracle have taken a different lifecycle with their LTS OracleJDK and they are dropping support for 1.8. What is Kafka's decision in terms of java support? I can't figure it out from documentation. What am I missing here?
回答1:
Apache Kafka v2.0.0
Apache Kafka official documentation is quite clear on that:
From a security perspective, we recommend you use the latest released version of JDK 1.8 as older freely available versions have disclosed security vulnerabilities. LinkedIn is currently running JDK 1.8 u5 (looking to upgrade to a newer version) with the G1 collector.
Also, notable changes in 2.0.0 section mentions the following:
Support for Java 7 has been dropped, Java 8 is now the minimum version required.
Oracle JDK is recommended but openJDK or Zulu should work fine for most cases as well.
Confluent Platform 5.0.x
For Confluent Kafka in particular,
Java 1.9 and 1.10 are not currently supported in Confluent Platform. Later versions of Confluent Platform will support these Java versions.
and the minimum recommended version for Confluent 5.0.x (that comes with Kafka v2.0.0
) is JDK 1.8 → u31 or later.
回答2:
The blog by Neha Narkhede only refers to Kafka, not Confluent Platform. Like most companies with model of selling services to an open-source project, Confluent's add-ons address their customers' needs. Since most customers are probably running 1.8, there is no business need to support 9 or 10 yet.
However, the open-source project has to address the EOL support of Java. You can see this in the JIRAs.
- KAFKA-4501 - Support Java 9
- HADOOP-11123 - Fix Java 9 incompatibilies in Hadoop
来源:https://stackoverflow.com/questions/52612402/kafka-confluent-java-version-support