Eu instalei o pacote OpenJDK Headless JAVA em um Ubuntu 16.04 que funciona bem. Minha variável JAVA_HOME
está definida como:
/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
Mas quando estou iniciando o Apache Kafka, ele tenta carregar o JAVA do caminho errado. Parece que está anexando /bin/java
ao final da variável 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
Eu tentei alterar JAVA_HOME
para apenas:
/usr/lib/jvm/java-8-openjdk-amd64/jre/
Mas ainda está apontando para o mesmo executável java (inválido).
Eu então inspecionei a linha 271 em kafka-run-class.sh que diz:
exec $JAVA $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_JMX_OPTS $KAFKA_LOG4J_OPTS -cp $CLASSPATH $KAFKA_OPTS "$@"
Parece que está usando a variável JAVA
, então tento exportar
JAVA="/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java"
sem sorte.
Alguém pode explicar por que isso está acontecendo e como posso resolver isso?