Я встановив пакет OpenJDK Headless JAVA на Ubuntu 16.04, який працює чудово. Моя JAVA_HOME
змінна встановлена на:
/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
Але коли я запускаю Apache Kafka, він намагається завантажити JAVA з неправильного шляху. Схоже, він додається /bin/java
до кінця JAVA_HOME
змінної.
$ sudo /opt/kafka/kafka_2.11-1.1.0/bin/kafka-server-start.sh /opt/kafka/kafka_2.11-1.1.0/config/server.properties
/opt/kafka/kafka_2.11-1.1.0/bin/kafka-run-class.sh: line 271: /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java/bin/java: Not a directory
/opt/kafka/kafka_2.11-1.1.0/bin/kafka-run-class.sh: line 271: exec: /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java/bin/java: cannot execute: Not a directory
Я спробував змінитись JAVA_HOME
на:
/usr/lib/jvm/java-8-openjdk-amd64/jre/
Але він все ще вказує на той самий (недійсний) виконуваний файл Java.
Потім я оглянув рядок 271 в kafka-run-class.sh, який говорить:
exec $JAVA $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_JMX_OPTS $KAFKA_LOG4J_OPTS -cp $CLASSPATH $KAFKA_OPTS "$@"
Так виглядає, що він використовує JAVA
змінну, тому я намагаюся експортувати
JAVA="/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java"
без жодної удачі.
Хтось може пояснити, чому це відбувається, і як я можу це вирішити?
Здається, Кафка потребує JDK, а не JRE. Дивіться tutorialspoint.com/apache_kafka/…
—
Ганеш Р.
У мене була та сама проблема, яку я вирішив, встановивши змінну JAVA_HOME .
—
Rico W