2016-10-21 170 views
0

當我每次啓動Flume時,我都在Flume,Hive和Hadoop之間發送此消息。避免這種情況的最好方法是什麼?我正在考慮從flume lib目錄中刪除一個jar,但不知道是否會影響其他人(配置單元,hadoop)。FluF衝突hadoop與SLF4J:類路徑包含多個SLF4J綁定

Info: Sourcing environment configuration script /usr/local/flume/conf/flume-env.sh 
Info: Including Hadoop libraries found via (/usr/local/hadoop/bin/hadoop) for HDFS access 
+ exec /usr/java/jdk1.7.0_79/bin/java -Xms100m -Xmx200m -Dcom.sun.management.jmxremote -cp '/usr/local/flume/conf:/usr/local/flume/lib/*:/usr/local/hadoop/etc/hadoop:/usr/local/hadoop/share/hadoop/common/lib/*:/usr/local/hadoop/share/hadoop/common/*:/usr/local/hadoop/share/hadoop/hdfs:/usr/local/hadoop/share/hadoop/hdfs/lib/*:/usr/local/hadoop/share/hadoop/hdfs/*:/usr/local/hadoop/share/hadoop/yarn/lib/*:/usr/local/hadoop/share/hadoop/yarn/*:/usr/local/hadoop/share/hadoop/mapreduce/lib/*:/usr/local/hadoop/share/hadoop/mapreduce/*:/usr/local/hadoop/contrib/capacity-scheduler/*.jar' -Djava.library.path=:/usr/local/hadoop/lib/native org.apache.flume.node.Application --conf-file /usr/local/flume/conf/spooling3.properties --name agent1 
SLF4J: Class path contains multiple SLF4J bindings. 
SLF4J: Found binding in [jar:file:/usr/local/flume/lib/slf4j-log4j12-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J: Found binding in [jar:file:/usr/local/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. 
+0

您應該只能刪除/usr/local/flume/lib/slf4j-log4j12-1.6.1.jar jar(或hadoop之一)。 Flume將這些全部添加到classpath以及您的hadoop jar中,因此所有內容都應該能夠訪問hadoop發行版中的jar。 – vlahmot

回答

0

您提到的日誌消息可能被視爲「普通警告消息」。 (沒有錯誤。)

如果你看看https://issues.apache.org/jira/browse/FLUME-2913,你可以看到一些進一步的解釋。

爲Apache Flume構建類路徑的方式是:bin/flume-ng bash腳本收集來自HBase和HDFS的所有類路徑,並將它們與Flume自己的類路徑相結合。

如果在任何地方有不同的slf4j jar,你會看到警告。