您的位置:首页 > 运维架构

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

2017-06-18 20:20 246 查看
今天这篇文章是接上次的文章: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/lib
rm slf4j-log4j12-1.6.4.jar


HBase作为一个非结构化分布式数据库,有非常多的优点,我也是在对它的一步步探索之中,希望有兴趣的朋友可以在留言区列出自己的问题,大家共同交流学习,谢谢!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息