运行Hive0.12,错误为slf4j

0qx6xfy6  于 2021-05-29  发布在  Hadoop
关注(0)|答案(5)|浏览(431)

使用中的配置初始化日志记录jar:file:/usr/local/hive/lib/hive-common-0.12.0.jar/hive-log4j.属性

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/hadoop/share/hadoop/common/lib/slf4j-log4j12-    1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/hive/lib/slf4j-log4j12-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]

Hive>

5jvtdoz2

5jvtdoz21#

您需要删除这些绑定在hadoop和hive之间的jar文件
rm lib/hive-jdbc-2.0.0-standalone.jar
rm库/log4j-slf4j-impl-2.4.1.jar

s4n0splo

s4n0splo2#

在警告中列出的2个slf4j绑定中,您需要将其中一个从类路径中排除。
尽管这是一个警告,但slf4j将选择一个日志框架/实现并与之绑定—绑定是由jvm决定的,通常被认为是一个随机函数。

7qhs6swi

7qhs6swi3#

您必须删除/usr/local/hive/lib/slf4j-log4j12-1.6.1.jar,因为hive将自动使用hadoop中的slf4j-log4j jar文件。
你也可以参考这里https://issues.apache.org/jira/browse/hive-6162

j1dl9f46

j1dl9f464#

您收到这样的警告消息是因为sl4j.jar在hive和hadoop路径中发生冲突。为了摆脱这个问题,只需从/usr/local/hive/lib中删除hive-jdbc-1.1.0-standalone.jar。那你该走了……:)

bmp9r5qi

bmp9r5qi5#

要解决此问题,请在所有配置单元节点上的/usr/iop/4.1.0.0/hive/bin/hive.distro文件中添加以下脚本行,

CLASSPATH=`echo $CLASSPATH| sed 's/\/usr\/local\/hadoop\/lib\/slf4j\-log4j12\-1\.7\.10\.jar//g'`

脚本应插入行之后

if $cygwin; then
CLASSPATH=`cygpath -p -w "$CLASSPATH"`
CLASSPATH=${CLASSPATH};${AUX_CLASSPATH}
else
CLASSPATH=${CLASSPATH}:${AUX_CLASSPATH}
fi

警告将不再出现。
http://www-01.ibm.com/support/docview.wss?uid=swg21971864

相关问题