当我使用“hive shell”命令启动 hive 时。它给了我以下异常:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hive/ql/CommandNeedRetryException
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hive/common/LogUtils$LogInitializationException
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hive.ql.CommandNeedRetryException
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hive.common.LogUtils$LogInitializationException
最佳答案
实际上这是由于hadoop设置造成的。我已经显式设置了 HADOOP_CLASSPATH (仅作为 Java jar),并且在运行 hive 时,它需要更多的 hadoop jar 文件,并且通过 hive 配置文件添加相同的文件。所以我们需要在hadoop-env.sh中设置HADOOP_CLASSPATH如下
导出 HADOOP_CLASSPATH = ${HADOOP_CLASSPATH}:{您以前的类路径}
关于hive - 线程 "main"java.lang.NoClassDefFoundError : org/apache/hadoop/hive/ql/CommandNeedRetryException 中出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31151585/