[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怎么办
时间: 2023-07-11 08:00:17 浏览: 210
这个问题是因为在类路径(classpath)中出现了多个SLF4J绑定的原因。可以尝试以下解决方案:
1. 在`$HBASE_HOME/conf/hbase-env.sh`中添加以下代码:
```
export HBASE_OPTS="$HBASE_OPTS -Dorg.slf4j.simpleLogger.showMultipleLoggers=true"
```
这样可以在启动时查看具体的多绑定信息。
2. 在`$HBASE_HOME/conf/log4j.properties`中添加以下代码:
```
# Remove duplicate SLF4J bindings
log4j.logger.org.apache.hadoop.metrics2=ERROR,console
```
这样可以将日志级别调整为ERROR,从而隐藏多绑定的警告信息。
3. 如果以上两种方法均未解决问题,可以考虑移除多余的SLF4J绑定。具体方法是在HBase的类路径中只保留一个SLF4J绑定的jar包,删除其他的绑定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] mkdir: 无法创建目录"/usr/local/hbase/bin/../logs": 权限不够 running master, logging to /usr/local/hbase/bin/../logs/hbase-atguigu-master-node11.out /usr/local/hbase/bin/hbase-daemon.sh:行195: /usr/local/hbase/bin/../logs/hbase-atguigu-master-node11.out: 没有那个文件或目录 head: 无法打开"/usr/local/hbase/bin/../logs/hbase-atguigu-master-node11.out" 读取数据: 没有那个文件或目录
这个错误信息显示了多个 SLF4J 绑定的问题,以及一个无法创建目录和找不到日志文件的问题。
针对这些问题,可以尝试以下解决方法:
1. 多个 SLF4J 绑定的问题可以忽略,因为实际绑定的是 Log4jLoggerFactory。
2. 创建目录和日志文件的问题,可能是因为没有写入权限导致的。可以尝试使用 root 用户或者具有写入权限的用户来启动 HBase。
另外,你可以进入 HBase 的 bin 目录下,手动创建 logs 目录,以及在 logs 目录下创建 hbase-atguigu-master-node11.out 文件,然后再次尝试启动 HBase。例如:
```
cd /usr/local/hbase/bin
sudo mkdir ../logs
sudo touch ../logs/hbase-atguigu-master-node11.out
sudo chmod -R 777 ../logs
./start-hbase.sh
```
如果问题仍然存在,请提供更多信息,我会尽力帮助你解决。
[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。
阅读全文