Hadoop集群搭建过程中的常见问题(二)

来源:互联网 发布:数据库中什么是视图 编辑:程序博客网 时间:2024/06/05 19:16

今天这篇文章是接上次的文章:Hadoop集群搭建过程中的常见问题(一)的续篇,在这里继续列出一些我在使用HBase的过程中遇到的一些问题:

1. “ Can’t get master address from ZooKeeper; znode data == null”

这个问题出现在我执行hbase shell,执行表操作的时候,这也是最常见的hbase问题之一,这个问题的解决方法如下:
1)重启HBase:首先是重启HBase(具体的指令我就不说了,自行百度HBase启动指令),再次执行hbase shell进行测试;

2)查看所有节点是否启动:jps指令可以查看现在集群中启动的节点有哪些,这又会出现以下两种情况:
a.HMaster未启动成功:
解决方法1:

1)cd /home/hadoop/hbase-0.96.0-hadoop2/lib下运行命令: rm -rf hadoop*.jar删掉所有的hadoop相关的jar包2)将Hadoop目录下的jar包复制到HBase目录下:   find /usr/local/hadoop/share/hadoop -name "hadoop*jar" | xargs -i cp {} /usr/local/hbase/lib/

解决方法2.清空Zookeeper下的遗留数据信息

将zookeeper/bin/zookeeper.out删除

b.HRegionserver未启动成功:
解决方法:

在需要启动HRegionserver服务的节点上手动启动: ~/hadoop-2.2.0/hbase-0.98.2-hadoop2$ bin/hbase-daemon.sh start regionserver

2. “ SLF4J问题”

这个问题同样是出现在启动hbase shell之后出现的错误提示:

SLF4J: Class path contains multiple SLF4J bindings.                    SLF4J: Found binding in [jar:file:/usr/hbase/lib/slf4j-log4j12- 1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]                    SLF4J: Found binding in   [jar:file:/usr/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]                    SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.

这个提示也比较明确,是发生了包的冲突:分别为:

file:/usr/hbase/lib/slf4j-log4j12-     1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class
file:/usr/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class

解决方法: 移除其中一个jar包即可:

cd /usr/hbase/librm slf4j-log4j12-1.6.4.jar

HBase作为一个非结构化分布式数据库,有非常多的优点,我也是在对它的一步步探索之中,希望有兴趣的朋友可以在留言区列出自己的问题,大家共同交流学习,谢谢!

原创粉丝点击