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
Была исправлена устаревшая страница документации (скоро сайт обновится):
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