Ошибка JNI произошла в HIVE 3.0.0

Я установил Hadoop успешно, и он хорошо работает, но когда я установил Hive и работал hive команда в терминале, я получил эту ошибку

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 64
    at java.util.jar.JarFile.match(java.base@9-internal/JarFile.java:983)
    at java.util.jar.JarFile.checkForSpecialAttributes(java.base@9-internal/JarFile.java:1017)
    at java.util.jar.JarFile.isMultiRelease(java.base@9-internal/JarFile.java:399)
    at java.util.jar.JarFile.getEntry(java.base@9-internal/JarFile.java:524)
    at java.util.jar.JarFile.getJarEntry(java.base@9-internal/JarFile.java:480)
    at jdk.internal.util.jar.JarIndex.getJarIndex(java.base@9-internal/JarIndex.java:114)
    at jdk.internal.loader.URLClassPath$JarLoader$1.run(java.base@9-internal/URLClassPath.java:640)
    at jdk.internal.loader.URLClassPath$JarLoader$1.run(java.base@9-internal/URLClassPath.java:632)
    at java.security.AccessController.doPrivileged(java.base@9-internal/Native Method)
    at jdk.internal.loader.URLClassPath$JarLoader.ensureOpen(java.base@9-internal/URLClassPath.java:631)
    at jdk.internal.loader.URLClassPath$JarLoader.<init>(java.base@9-internal/URLClassPath.java:606)
    at jdk.internal.loader.URLClassPath$3.run(java.base@9-internal/URLClassPath.java:386)
    at jdk.internal.loader.URLClassPath$3.run(java.base@9-internal/URLClassPath.java:376)
    at java.security.AccessController.doPrivileged(java.base@9-internal/Native Method)
    at jdk.internal.loader.URLClassPath.getLoader(java.base@9-internal/URLClassPath.java:375)
    at jdk.internal.loader.URLClassPath.getLoader(java.base@9-internal/URLClassPath.java:352)
    at jdk.internal.loader.URLClassPath.getResource(java.base@9-internal/URLClassPath.java:218)
    at jdk.internal.loader.BuiltinClassLoader$3.run(java.base@9-internal/BuiltinClassLoader.java:463)
    at jdk.internal.loader.BuiltinClassLoader$3.run(java.base@9-internal/BuiltinClassLoader.java:460)
    at java.security.AccessController.doPrivileged(java.base@9-internal/Native Method)
    at jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(java.base@9-internal/BuiltinClassLoader.java:459)
    at jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(java.base@9-internal/BuiltinClassLoader.java:406)
    at jdk.internal.loader.BuiltinClassLoader.loadClass(java.base@9-internal/BuiltinClassLoader.java:364)
    at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(java.base@9-internal/ClassLoaders.java:184)
    at java.lang.ClassLoader.loadClass(java.base@9-internal/ClassLoader.java:419)
    at sun.launcher.LauncherHelper.loadMainClass(java.base@9-internal/LauncherHelper.java:585)
    at sun.launcher.LauncherHelper.checkAndLoadMain(java.base@9-internal/LauncherHelper.java:497)
Unable to determine Hadoop version information.
'hadoop version' returned:
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 64
    at java.util.jar.JarFile.match(java.base@9-internal/JarFile.java:983)
    at java.util.jar.JarFile.checkForSpecialAttributes(java.base@9-internal/JarFile.java:1017)
    at java.util.jar.JarFile.isMultiRelease(java.base@9-internal/JarFile.java:399)
    at java.util.jar.JarFile.getEntry(java.base@9-internal/JarFile.java:524)
    at java.util.jar.JarFile.getJarEntry(java.base@9-internal/JarFile.java:480)
    at jdk.internal.util.jar.JarIndex.getJarIndex(java.base@9-internal/JarIndex.java:114)
    at jdk.internal.loader.URLClassPath$JarLoader$1.run(java.base@9-internal/URLClassPath.java:640)
    at jdk.internal.loader.URLClassPath$JarLoader$1.run(java.base@9-internal/URLClassPath.java:632)
    at java.security.AccessController.doPrivileged(java.base@9-internal/Native Method)
    at jdk.internal.loader.URLClassPath$JarLoader.ensureOpen(java.base@9-internal/URLClassPath.java:631)
    at jdk.internal.loader.URLClassPath$JarLoader.<init>(java.base@9-internal/URLClassPath.java:606)
    at jdk.internal.loader.URLClassPath$3.run(java.base@9-internal/URLClassPath.java:386)
    at jdk.internal.loader.URLClassPath$3.run(java.base@9-internal/URLClassPath.java:376)
    at java.security.AccessController.doPrivileged(java.base@9-internal/Native Method)
    at jdk.internal.loader.URLClassPath.getLoader(java.base@9-internal/URLClassPath.java:375)
    at jdk.internal.loader.URLClassPath.getLoader(java.base@9-internal/URLClassPath.java:352)
    at jdk.internal.loader.URLClassPath.getResource(java.base@9-internal/URLClassPath.java:218)
    at jdk.internal.loader.BuiltinClassLoader$3.run(java.base@9-internal/BuiltinClassLoader.java:463)
    at jdk.internal.loader.BuiltinClassLoader$3.run(java.base@9-internal/BuiltinClassLoader.java:460)
    at java.security.AccessController.doPrivileged(java.base@9-internal/Native Method)
    at jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(java.base@9-internal/BuiltinClassLoader.java:459)
    at jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(java.base@9-internal/BuiltinClassLoader.java:406)
    at jdk.internal.loader.BuiltinClassLoader.loadClass(java.base@9-internal/BuiltinClassLoader.java:364)
    at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(java.base@9-internal/ClassLoaders.java:184)
    at java.lang.ClassLoader.loadClass(java.base@9-internal/ClassLoader.java:419)
    at sun.launcher.LauncherHelper.loadMainClass(java.base@9-internal/LauncherHelper.java:585)
    at sun.launcher.LauncherHelper.checkAndLoadMain(java.base@9-internal/LauncherHelper.java:497)

Мой .bashrc файл:

#Hadoop variables
export JAVA_HOME=/usr/lib/jvm/java-9-openjdk-amd64
export HADOOP_INSTALL=/usr/local/hadoop
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL
#end of Hadoop variable declaration


#HIVE variables
export HIVE_HOME=/usr/lib/hive
export HIVE_CONF_DIR=/usr/lib/hive/conf
export PATH=$PATH:$HIVE_HOME/bin
export CLASSPATH=$CLASSPATH:/usr/local/hadoop/lib/*:
export CLASSPATH=$CLASSPATH:/usr/local/hive/lib/*:

Я застревал с ним в течение недели теперь, не мог найти рабочее решение.

0
задан 10 July 2018 в 12:23

1 ответ

Используйте Версию 8 JDK для решения той проблемы.

0
ответ дан 28 October 2019 в 09:16

Другие вопросы по тегам:

Похожие вопросы: