1、ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not running yet
解决:将hadoop1.2.1下的hadoop-core-1.2.1.jar拷贝到hbase-0.98.7-hadoop1/lib下,两文件大小不一致,以hadoop1.2.1为准;2、启动hbase shell时,报出: Warning: $HADOOP_HOME is deprecated.
解决:在.bash_profile环境变量中,加入:export HADOOP_HOME_WARN_SUPPRESS=13、报错:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/hadoop1/hbase-0.98.7-hadoop1/lib/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/hadoop1/hadoop-1.2.1/lib/slf4j-log4j12-1.4.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
解决:将hadoop1.2.1下的slf4j-api-1.4.3.jar、slf4j-log4j12-1.4.3.jar拷贝到hbase-0.98.7-hadoop1/lib下,将原有slf4j*删除。
4、stop-hbase无法停止,检查日志发现等待leave safemode。
解决:启动hadoop时,运行命令:hadoop dfsadmin -safemode leave 确保未处于安全模式。
5、ERROR: Can't get master address from ZooKeeper; znode data == null
解决:这个问题其实有点莫名其妙,原因我暂时还不清楚,可能是文件系统中一些坏的块导致,或者hbase 本身的不稳定,楼主是以下方法解决的
1、删除文件坏的块
hadoop fsck -delete 可以移除 missing block
hadoop fsck -move 会把错误的块信息移到 HDFS 的 /lost+found
hadoop fsck -move 会把错误的块信息移到 HDFS 的 /lost+found
2、重启hadoop ,stop-alll.sh;start-all.sh。jps一下,保证所以进程被杀掉,只留下 jps
好吧!成功了。