Apache Kafka додає неправильний шлях JAVA


0

Я встановив пакет 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

Відповіді:


1
  1. sudo vi ~/.bashrc
  2. Відредагуйте свій домашній будинок Java нижче
   export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre/
   export PATH=$PATH:$JAVA_HOME/bin
  1. source ~/.bashrc
  2. потім почніть Кафку
    ~/kafka/bin/kafka-server-start.sh ~/kafka/config/server.properties
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.