Kafka - Confluent - Поддержка версий Java

Я смотрю на Apache Kafka v2.0.0 и не могу понять, какую версию java он поддерживает (OpenJDK или новый жизненный цикл Oracle JDK)? До сих пор я видел противоречивые документы. Например: на странице документации Apache Kafka написано: Java 1.8, однако в их заметках о выпуске для v2.0 я вижу исправления и улучшения, такие как:

  • [KAFKA-6855] - Kafka не запускается с Java 10 из-за неправильного определения версии Java
  • [KAFKA-5907] - Поддержка агрегированного Javadoc в Java 9

Документация Confluent v5.x говорит, что они не поддерживают 9 или 10

Java 1.9 и 1.10 в настоящее время не поддерживаются в Confluent Platform. Более поздние версии Confluent Platform будут поддерживать эти версии Java.

но их технический директор в ноябре 2017 года на этой странице говорит

"Теперь мы поддерживаем Java 9, ведущие, значительно более быстрые реализации TLS и CRC32C"

Зная, что Oracle взяли другой жизненный цикл с их LTS OracleJDK, они отказались от поддержки 1.8. Каково решение Кафки с точки зрения поддержки Java? Я не могу понять это из документации. Что мне здесь не хватает?

5 ответов

Apache Kafka 2.1.0 и новее поддерживают Java 11:

https://issues.apache.org/jira/browse/KAFKA-7264

Была исправлена ​​устаревшая страница документации (скоро сайт обновится):

https://github.com/apache/kafka/pull/9080

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, в частности,

Java 1.9 и 1.10 в настоящее время не поддерживаются в Confluent Platform. Более поздние версии Confluent Platform будут поддерживать эти версии Java.

и минимальная рекомендуемая версия для Confluent 5.0.x (которая поставляется с Kafka v2.0.0) является JDK 1.8 → u31 или более поздней.

Confluent-7.2.0 поддерживает java 8 и java 11. Если у вас есть какая-либо из них, все, что вам нужно сделать, это установить общесистемную версию java как 11 или 8, выполнив указанную ниже команду в своем терминале.

       jenv global 11.0

Здесь я прикрепляю ссылку, по которой вы можете узнать, как управлять несколькими версиями Java. Вы можете установить несколько версий Java и переключаться между ними в соответствии с потребностями вашего проекта. как управлять несколькими версиями java

Блог Нехи Нархеде касается только Кафки, а не Платформы Слияния. Как и большинство компаний с моделью продажи услуг для проекта с открытым исходным кодом, надстройки Confluent отвечают потребностям своих клиентов. Так как большинство клиентов, вероятно, используют 1.8, нет никакой необходимости поддерживать 9 или 10.

Тем не менее, проект с открытым исходным кодом должен обратиться к поддержке EOL Java. Вы можете увидеть это в JIRA.

Последнее обновление от августа 2021 г. Согласно этому: https://docs.confluent.io/platform/current/installation/versions-interoperability.html

В этой версии Confluent Platform поддерживаются Java 8 и Java 11. Начиная с Confluent Platform 5.0, минимальная необходимая версия - Java 8. Java 7 или более ранние версии больше не поддерживаются. Java 9 и 10 не поддерживаются в Confluent Platform, поскольку эти версии являются краткосрочными версиями быстрого выпуска.

Confluent Platform 5.0 соответствует Apache Kafka 2.0.x

Другие вопросы по тегам