简 介:HBase是谷歌BigData论文的一个代码实现,在大数据处理领域应用广泛。本文意在记录自己近期学习过程中的所学所得,如有错误,欢迎大家指正。
关键词:大数据组件、HBase、NoSQL
HBase的运转是需要HDFS支持的,而且需要zookeeper进行管理Master,所以我们开启HBase服务之前要开启这两个服务。
1.开启HDFS
# 注意这里,因为hbase不需要进行计算,所以可以不用开yarn sbin/start-dfs.sh
2.开启zookeeper
# 这里我是将开启zk写成了脚本 zk.sh start
下面是我的群起zookeeper脚本,可以参考进行修改自己的路径。
#!/bin/bash case $1 in "start"){ for i in hadoop102 hadoop103 hadoop104 do echo "----------启动$i zk----------" ssh $i "source /etc/profile;nohup /opt/module/zookeeper-3.4.10/bin/zkServer.sh start" done };; "stop"){ for i in hadoop102 hadoop103 hadoop104 do echo "----------关闭$i zk----------" ssh $i "source /etc/profile;nohup /opt/module/zookeeper-3.4.10/bin/zkServer.sh stop" done };; "status"){ for i in hadoop102 hadoop103 hadoop104 do echo "----------查看$i zk----------" ssh $i "source /etc/profile;nohup /opt/module/zookeeper-3.4.10/bin/zkServer.sh status" done };; esac
3.群起HBase
bin/start-hbase.sh
我们可以看到启动了两个进程,分别是Master和HRegionServer。
访问16010端口,可以看到集群全部已经启动成功。
有时候发现HRegionServer明明启动了,然后马上就死掉了,或者直接就启动不起来,这种原因可能是集群的时间不同步,检查以下集群的时间,我们测试一下:
====
我们首先将其中一个服务器的时间进行修改,与其它集群不同步。
我们尝试进行群起HBase,发现该服务器起不来
我们进入该服务器的hbase的日志目录下,查看下日志发现:
上面说明当前服务器的时间与其它服务器的时间大于允许最大通信时间,导致不能启动,其实我们可以进行配置该参数,即最大时长,但是如果过长的话没有什么意义,所以我们此时需要将集群的时间进行同步。
将集群时间同步之后就发现服务器又能够启动起来了。