#java #apache-kafka
#java #apache-kafka
Вопрос:
Я пытаюсь установить kafka
на Cloudera
виртуальную машину quickstart. Я выполнил все шаги. Но я получаю следующую ошибку при запуске kafka
сервера:
Исключение в потоке «main» java.lang.Ошибка UnsupportedClassVersionError: org / apache / kafka /common /utils / KafkaThread: неподдерживаемая основная.младшая версия 52.0 на java.lang.ClassLoader.defineClass1 (собственный метод)
В моем .bashrc
файле установлены следующие переменные среды
export PATH="/usr/java/jdk1.8.0_211/bin:$PATH"
export KAFKA_HOME="/opt/kafka/kafka_2.11-2.2.0"
export PATH="$KAFKA_HOME/bin:$PATH"
export KAFKA_CLASSPATH="$KAFKA_HOME/libs/"
export KAFKA_CONF_DIR="$KAFKA_HOME/config/"
Я пытался использовать оба java 7
и java 8
, но ошибка все еще сохраняется.
Заранее спасибо за вашу помощь.
Комментарии:
1. Ошибка означает, что вы используете не Java 8, а более старую версию. можете ли вы попробовать запустить
java --version
перед скриптом?2. Вы используете более старую версию Java (до 8) во время выполнения. Вы уверены, что ваш путь обновляется?
Ответ №1:
Кафка пытается найти команду Java в JAVA_HOME
Попробуйте
export JAVA_HOME=/usr/java/jdk1.8.0_211
export PATH="$JAVA_HOME/bin:$PATH"
kafka-server-start server.properties
Примечание: Вам не нужна среда Hadoop для запуска Kafka, поэтому просто новая виртуальная машина с Java 8 (или 11) будет работать с последней версией Kafka.
Или вы могли бы использовать Docker
Ответ №2:
Неподдерживаемая major.minor версия 52.0 указывает на Java 8. Это означает, что установленная вами версия Kafka нуждается в Java 8 для правильной работы.
Другие версии см. Ниже:
Java 1.2 использует основную версию 46, Java 1.3 использует основную версию 47, Java 1.4 использует основную версию 48, Java 5 использует основную версию 49, Java 6 использует основную версию 50, Java 7 использует основную версию 51, Java 8 использует основную версию 52, Java 9 использует основную версию 53, Java 10 использует основную версию 54, Java 11 использует основную версию 55, Java 12 использует основную версию 56, Java 13 использует основную версию 57, Java 14 использует основную версию 58
Выполните эти шаги, и это должно сработать:
-
Убедитесь, какая версия Java у вас установлена, введя java -version и соответствующим образом сопоставьте версию в соответствии с сообщением об ошибке, которое вы получаете от Kafka Start Script.
-
Введите, какая Java, и получите путь, по которому Java установлена в вашей системе.
Пример: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el6_10.x86_64/jdk/jdk1.8.0_221/bin/java
- Перейдите в базовый каталог и отредактируйте файл .bashrc и добавьте следующие три строки.
1-я строка: путь на шаге 2 перед bin должен быть назначен JAVA_HOME.
Пример: экспортировать JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el6_10.x86_64/jdk/jdk1.8.0_221
2-я строка: PATH=$JAVA_HOME/bin:$PATH
3-я строка: путь экспорта
- Исходный файл .bashrc, выполнив следующую команду:
источник .bashrc
- Затем перейдите в установленную папку Kafka и выполните приведенную ниже команду, и она должна сработать:
bin/kafka-server-start.sh config/server.properties
Наслаждайтесь кодированием!