问题描述
Hbase跟Hadoop都安装在了一台服务器里,配置了下/etc/profile中的hadoop变量;
启动Hbase报错
[root@Master bin]# ./start-hbase.sh
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/hadoop-2.8.5/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/hbase-2.1.4/lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.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 /opt/hbase-2.1.4//logs/hbase-root-master-Master.out
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/hadoop-2.8.5/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/hbase-2.1.4/lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.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]
Slave1: running regionserver, logging to /opt/hbase-2.1.4/bin/../logs/hbase-root-regionserver-Slave1.out
Master: running regionserver, logging to /opt/hbase-2.1.4/bin/../logs/hbase-root-regionserver-Master.out
尝试解决
1 升级Hadoop的slf4j-log4j12 jar包版本跟Hbase一致.
Failed.报错依旧.
2 移除Hbase的冲突jar包,
Failed.报错变了大意Hbase少jar了.好气哟不删jar告诉我重复,删了你又用不了Hadoop的jar.
3.Google了好几个帖子找到解决方法.
修改hbase项目下//conf/hbase-env.sh这个文件.添加下面这行
看key名字就应该能明白:Hbase禁用查找Hadoop的Classs=True
export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP=true