2014-11-20 112 views
1

記錄的誤差初始化成使用配置的jar:文件:/usr/local/hive/lib/hive-common-0.12.0.jar /hive-log4j.properties運行蜂巢0.12 SLF4J

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] 

配置單元>

+0

雖然這裏有什麼問題嗎? – 2014-11-20 22:37:19

+0

我可以運行配置單元,但我想擺脫slf4j警告或錯誤 – 2014-11-20 22:45:32

回答

3

您需要刪除這些jar文件Hadoop和蜂巢

  • RM的lib /蜂巢-JDBC-2.0.0-standalone.jar
  • 之間的結合
  • RM LIB/log4j的-SLF4J-IMPL-2.4.1.jar
1

在警告中列出的2個SLF4J綁定中,您需要從類路徑中排除其中的一個。

即使這是一個警告,SLF4J會選擇一個日誌框架/實現並綁定它 - 綁定由JVM決定,並且通常被認爲是隨機函數。

+0

非常感謝Mr.kishore,我刪除了我的目錄/ usr/local/hive/lib中的舊版本,並留下了位於hadoop目錄和它的工作完美,但有另一個slf4j文件稱爲slf4j-api-1.6.1.jar和在hadoop目錄它的slf4j-api-1.7.5.jar應刪除舊版本,而沒有警告或錯誤信息? – 2014-11-21 08:45:38

0

由於正在使用HIVE和HADOOP路徑中的sl4j.jar,因此您會收到此類警告消息。 爲了擺脫這種情況,只需從/ usr/local/hive/lib中刪除hive-jdbc-1.1.0-standalone.jar。 那麼你應該去好... :)

0

要解決此添加腳本的以下行/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