hadoop - 无法在终端中启动 Hive

标签 hadoop apache-spark hive

我很久以前就安装并配置了 Apache Hive-1.2.1。它运作良好。最近我安装了 Apache Spark-2.7.0 并开始使用它的 shell。现在当我想再次使用 Hive 时,它​​没有启动。它显示以下错误:

Exception in thread "main" java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V
	at org.apache.commons.logging.impl.SLF4JLocationAwareLog.debug(SLF4JLocationAwareLog.java:133)
	at org.apache.hadoop.hive.common.LogUtils.logConfigLocation(LogUtils.java:147)
	at org.apache.hadoop.hive.common.LogUtils.initHiveLog4jDefault(LogUtils.java:128)
	at org.apache.hadoop.hive.common.LogUtils.initHiveLog4jCommon(LogUtils.java:77)
	at org.apache.hadoop.hive.common.LogUtils.initHiveLog4j(LogUtils.java:58)
	at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:637)
	at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:621)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.apache.hadoop.util.RunJar.main(RunJar.java:160)

我尝试重新安装 Hive,但出现了同样的错误。这个错误是由于安装 Spark 造成的吗?如何才能重新正常运行Hive?

最佳答案

看来您与您的日志记录 库有冲突。这个问题可以帮助你:java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log

关于hadoop - 无法在终端中启动 Hive,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32739523/

相关文章:

hadoop - 无法找到创建的Hive表,也无法从表中检索数据

hadoop - 加入 Spark 输出错误的结果,而 map-side join 是正确的

hadoop - 无法在具有权限的文件夹中的HDFS上创建登台目录

hadoop - Apache可以在每个节点上 Spark 缓存吗?

apache-spark - 使用 spark-t 规范不均匀间隔的时间序列

hadoop - 如何从配置单元中的字符串解析日期?

apache-spark - 如何并行运行多个Spark作业?

python - 使用python 3连接hive

hive - 在 Hive HQL 中将字符串转换为时间戳

hadoop - 如何退出直线?