Hive 中的多个 SLF4J 绑定 - Hortonworks 沙箱

Posted

技术标签:

【中文标题】Hive 中的多个 SLF4J 绑定 - Hortonworks 沙箱【英文标题】:multiple SLF4J bindings in Hive - Hortonworks sandbox 【发布时间】:2017-06-02 23:52:48 【问题描述】:

在 Hortonworks 沙盒(HDP2.3 Pig 和 Hive Rev6)中运行 Hive 查询时,我收到此警告。在此之后没有任何事情发生。 Hive 表也没有被创建。该怎么办?

[root@sandbox Lab7.1]# hive -f wh_visits.hive SLF4J:类路径 包含多个 SLF4J 绑定。 SLF4J:发现绑定 [jar:file:/usr/hdp/2.3.2.0-2950/hadoop/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J:发现绑定 [jar:文件:/usr/hdp/2.3.2.0-2950/spark/lib/spark-assembly-1.4.1.2.3.2.0-2950-hadoop2.7.1.2.3.2.0-2950.jar!/org/slf4j /impl/StaticLoggerBinder.class] SLF4J:见http://www.slf4j.org/codes.html#multiple_bindings 解释。 SLF4J:实际绑定是类型 [org.slf4j.impl.Log4jLoggerFactory] ​​警告:使用“yarn jar”启动 纱线应用。 SLF4J:类路径包含多个 SLF4J 绑定。 SLF4J:发现绑定 [jar:file:/usr/hdp/2.3.2.0-2950/hadoop/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J:发现绑定 [jar:文件:/usr/hdp/2.3.2.0-2950/spark/lib/spark-assembly-1.4.1.2.3.2.0-2950-hadoop2.7.1.2.3.2.0-2950.jar!/org/slf4j /impl/StaticLoggerBinder.class] SLF4J:见http://www.slf4j.org/codes.html#multiple_bindings 解释。 SLF4J:实际绑定是类型 [org.slf4j.impl.Log4jLoggerFactory]

使用文件中的配置初始化日志记录:/etc/hive/2.3.2.0-2950/0/hive-log4j.properties

【问题讨论】:

你看到http://www.slf4j.org/codes.html#multiple_bindings的解释了吗。 SLF4J 消息只是被忽略的垃圾。现在,如果“在此之后什么都没有发生”,我会猜测:Hive 正在尝试连接到 (a) Metastore 服务,但它没有启动/没有响应,或 (b) 直接到数据库服务器 (mysql?) 但是 (...),和/或 (c) 到 YARN 时间线服务器但是 (. ..) >> AFAIK,在 Hive 报告超时之前,您必须等待很长时间,并让您知道根本原因是什么。 是的,你是对的。我忽略了警告。这不是表演的终结者。但我观察到有时需要很长时间才能完成工作或返回蜂巢提示。 【参考方案1】:

我遇到了同样的问题并通过以下操作解决了它:

有两个同名但路径不同的 jar 文件。 就我而言,它是“slf4j-log4j12-1.7.25.jar”。 只需重命名其中一个,然后重试您的事情。这解决了我的问题。

[hadoop@hadoopsrvr01 ~]$ ls -lrt /opt/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar
-rw-r--r--. 1 hadoop hadoop 12244 Sep 10  2019 /opt/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar
[hadoop@hadoopsrvr01 ~]$ ls -lrt /opt/HBase/lib/slf4j-log4j12-1.7.25.jar
-rw-r--r--. 1 hadoop hadoop 12244 Oct  5  2019 /opt/HBase/lib/slf4j-log4j12-1.7.25.jar
[hadoop@hadoopsrvr01 ~]$

[hadoop@hadoopsrvr01 ~]$ mv /opt/HBase/lib/slf4j-log4j12-1.7.25.jar /opt/HBase/lib/slf4j-log4j12-1.7.25.jar.15072020
[hadoop@hadoopsrvr01 ~]$ ls -lrt /opt/HBase/lib/slf4j-log4j12-1.7.25.jar*
-rw-r--r--. 1 hadoop hadoop 12244 Oct  5  2019 /opt/HBase/lib/slf4j-log4j12-1.7.25.jar.15072020
[hadoop@hadoopsrvr01 ~]$

【讨论】:

以上是关于Hive 中的多个 SLF4J 绑定 - Hortonworks 沙箱的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot:多个 SLF4J 绑定

Maven类路径错误多个SLF4J绑定

如何在 Play 2.3.x 启动时修复“SLF4J:类路径包含多个 SLF4J 绑定”?

多个 SLF4J 绑定 activemq-all-5.6.0.jar 出错

GWT,Gradle,多个SLF4J绑定错误

类路径包含多个 SLF4J 绑定,即使有排除项