SLF4J: Found binding in [jar:file:/usr/local/apache-hive-3.1.3-bin/lib/log4j-slf4j-impl-2.17.1.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/usr/local/hadoop-3.3.5/share/hadoop/common/lib/slf4j-reload4j-1.7.36.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/usr/local/tez/lib/slf4j-log4j12-1.7.30.jar!/org/slf4j/impl/StaticLoggerBinder.class]
时间: 2023-08-19 13:06:47 浏览: 223
这是一段日志信息,它提示了 SLF4J 在三个不同的 jar 包中找到了绑定信息。其中,log4j-slf4j-impl-2.17.1.jar、slf4j-reload4j-1.7.36.jar 和 slf4j-log4j12-1.7.30.jar 都包含了 org.slf4j.impl.StaticLoggerBinder 类的实现。这可能会导致日志系统出现冲突或异常。需要检查这些 jar 包的版本和使用情况,以避免出现问题。
相关问题
[atguigu@node11 hbase]$ bin/start-hbase.sh SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/opt/module/hadoop-3.1.3/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/usr/local/hbase/lib/client-facing-thirdparty/slf4j-log4j12-1.7.30.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] running master, logging to /usr/local/hbase/bin/../logs/hbase-atguigu-master-node11.out SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/opt/module/hadoop-3.1.3/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/usr/local/hbase/lib/client-facing-thirdparty/slf4j-log4j12-1.7.30.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation
这是一个启动HBase的Shell脚本,在启动的过程中出现了SLF4J绑定的问题。具体的错误信息是Class path contains multiple SLF4J bindings,意思是类路径中包含了多个SLF4J绑定。在这个错误信息中,SLF4J发现了两个绑定,一个在/opt/module/hadoop-3.1.3/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar中,另一个在/usr/local/hbase/lib/client-facing-thirdparty/slf4j-log4j12-1.7.30.jar中。SLF4J提供了一个链接http://www.slf4j.org/codes.html#multiple_bindings来解释这个问题。最后,该错误信息指出实际的绑定类型是org.slf4j.impl.Log4jLoggerFactory。
hadoop@dblab-VirtualBox:/usr/local/hive$ ./bin/hive --service hiveserver2 -hiveconf hive.server2.thrift.port=10000 SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/usr/local/hive/lib/log4j-slf4j-impl-2.4.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]
这是一个警告信息,它提示当前的 classpath 中存在多个版本的 SLF4J 绑定,其中一个绑定来自 Hive 的依赖库(log4j-slf4j-impl-2.4.1.jar),另一个绑定来自 Hadoop 的依赖库(slf4j-log4j12-1.7.10.jar)。
这个警告通常不会影响 Hive 的正常运行,但是建议将多余的 SLF4J 绑定从 classpath 中移除,以避免潜在的问题。可以将其中一个绑定从相应的依赖库中删除,或者将其排除在 Hive 或 Hadoop 的依赖中。
如果你想要忽略这个警告,可以在启动 HiveServer2 时加上 -v 参数,这样警告信息就会被输出到日志文件中而不是控制台。例如:
```
./bin/hive --service hiveserver2 -hiveconf hive.server2.thrift.port=10000 -v > hive.log 2>&1 &
```
这样启动 HiveServer2 后,警告信息就会被输出到 hive.log 文件中。
阅读全文