我正在尝试在kafka
quickstart vm上安装Cloudera
。我已经完成了所有步骤。但是在启动kafka
服务器时出现以下错误:
线程“主”中的异常java.lang.UnsupportedClassVersionError:org / apache / kafka / common / utils / KafkaThread:不支持的major.minor版本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
,但错误仍然存在。
预先感谢您的帮助。
答案 0 :(得分:0)
Kafka尝试在JAVA_HOME
处找到Java命令
尝试
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)的全新VM才能与最新的Kafka一起使用。
或者您可以使用Docker
答案 1 :(得分:0)
不受支持的major.minor版本52.0指向Java8。这意味着您安装的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 -version确定已安装的Java版本,并根据从Kafka启动脚本收到的错误消息相应地映射该版本。
键入哪个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
第一行:必须将bin中第2步中的路径分配给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 >
第二行: PATH = $ JAVA_HOME / bin:$ PATH
第三行:导出路径
源.bashrc
bin / kafka-server-start.sh config / server.properties
享受编码!