首页 > 解决方案 > zookeeper:不支持的major.minor 52.0版

问题描述

我正在尝试遵循 kafka 网站上的指南: https : //kafka.apache.org/quickstart 但是当我使用 kafka_2.12-2.5.0 并尝试启动 zookeeper 时,我得到:

$ bin/zookeeper-server-start.sh  config/zookeeper.properties
    Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/zookeeper/server/quorum/QuorumPeerMain : Unsupported major.minor version 52.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)

我正在使用redhat7.1。尝试更新java:

$ sudo yum install java-1.8.0-openjdk-devel
Loaded plugins: langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
...
Package 1:java-1.8.0-openjdk-devel-1.8.0.31-2.b13.el7.x86_64 already installed and latest version
Nothing to do

我应该使用什么版本的 Java?

标签: javaapache-zookeeperunsupported-class-version

解决方案


这个 '52.0' 意味着它是用 1.8 jdk 编译的,但是你试图主要用较低的 jdk 运行(或者甚至非常不兼容?)。默认情况下使用 JAVA_HOME 环境变量,所以希望您已经检查了基础知识:java_home、java --version... 甚至在运行指向正确的 32/64 java 之前强制导出 java_home


推荐阅读