一、Hbase安装部署【集群】

HBase集群也是支持主从架构的,在这计划使用bigdata01、02、03这三台机器。
建议把HBase的从节点和Hadoop集群的从节点部署在相同的机器上面,这样可以最大化利用数据本地化的特性。
所以最终的节点规划如下:

bigdata01 HMaster(HBase的主节点,主节点可以支持多个,实现HA)
bigdata02 HRegionserver(HBase的从节点)
bigdata03 HRegionserver(HBase的从节点)

二、安装部署

1、基础环境准备

bigdata01、02、03这三台机器的基础环境是OK的,并且上面已经运行了一套Hadoop的一主两从的集群以及Zookeeper集群。

2、bigdata01

(1)上传

首先在bigdata01上进行操作,将HBase安装包上传到bigdata01的/data/soft目录中

[root@bigdata01 soft]# ll 
-rw-r--r--. 1 root root 220469021 Oct 31  2020 hbase-2.2.7-bin.tar.gz

(2)解压

[root@bigdata01 soft]# tar -zxvf hbase-2.2.7-bin.tar.gz 

(3)修改配置文件

首先修改hbase-env.sh,在文件末尾直接添加以下配置即可

[root@bigdata01 soft]# cd hbase-2.2.7/conf
[root@bigdata01 conf]# vi hbase-env.sh
....
export JAVA_HOME=/data/soft/jdk1.8
export HADOOP_HOME=/data/soft/hadoop-3.2.0
export HBASE_MANAGES_ZK=false
export HBASE_LOG_DIR=/data/hbase/logs

接下来修改hbase-site.xml
hbase-site.xml中默认有3个配置参数,主要修改里面hbase.cluster.distributed和hbase.tmp.dir的值。

[root@bigdata01 conf]# vi hbase-site.xml 
<!--是否为分布式模式部署,true表示分布式部署-->
<property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
</property>
<!-- 本地文件系统tmp目录-->
<property>
    <name>hbase.tmp.dir</name>
    <value>/data/hbase/tmp</value>
</property>
<!-- 这个参数的值默认不变即可,默认就是false。在分布式情况下, 一定设置为false -->
<property>
    <name>hbase.unsafe.stream.capability.enforce</name>
    <value>false</value>
</property>

前面这几个已有的参数修改完毕以后,还需要向hbase-site.xml中添加下面这些参数

[root@bigdata01 conf]# vi hbase-site.xml 
.......
<!--设置HBase表数据,也就是HBase数据在hdfs上的存储根目录-->
<property>
    <name>hbase.rootdir</name>
    <value>hdfs://bigdata01:9000/hbase</value>
</property>
<!--zookeeper集群的URL配置,多个host中间用逗号隔开-->
<property>
    <name>hbase.zookeeper.quorum</name>
    <value>bigdata01,bigdata02,bigdata03</value>
</property>
<!--HBase在zookeeper上数据的根目录znode节点-->
<property>
    <name>zookeeper.znode.parent</name>
    <value>/hbase</value>
</property>
<!--设置zookeeper通信端口,不配置也可以,zookeeper默认就是2181-->
<property>
    <name>hbase.zookeeper.property.clientPort</name>
    <value>2181</value>
</property>

最后修改regionservers文件,在里面添加HBase从节点的主机名或者ip

[root@bigdata01 conf]# vi regionservers
bigdata02
bigdata03

注意:如果是使用一台机器安装HBase伪分布集群,只需要在regionservers文件中配置那一台机器的主机名即可。

3、拷贝文件到其他2个节点

将bigdata01中修改完配置的HBase目录远程拷贝到bigdata02和bigdata03上

scp -rq hbase-2.2.7 bigdata02:/data/soft/
scp -rq hbase-2.2.7 bigdata03:/data/soft/

4、启动HBase集群

注意:在启动HBase集群之前一定要确保Hadoop集群和Zookeeper集群已经正常启动了。

检查方法:

jps
或者
jps -m

zkServer.sh status

在这里插入图片描述
如果没有启动,按照如下步骤进行启动。

(1)先启动Hadoop集群

start-all.sh

(2)启动Zookeeper集群

[root@bigdata01 apache-zookeeper-3.5.8-bin]# bin/zkServer.sh start
[root@bigdata02 apache-zookeeper-3.5.8-bin]# bin/zkServer.sh start
[root@bigdata03 apache-zookeeper-3.5.8-bin]# bin/zkServer.sh start

(3)最后在bigdata01上启动HBase集群

start-hbase.sh 

三、验证集群

在bigdata01上执行jps命令,会发现多了一个HMaster进程,这个就是HBase集群主节点中的进程

[root@bigdata01 hbase-2.2.7]# jps
3826 NameNode
5528 QuorumPeerMain
5736 HMaster
4093 SecondaryNameNode
4334 ResourceManager

然后在bigdata02上执行jps命令,会发现多了一个HRegionServer进程,这个就是HBase集群从节点中的进程

[root@bigdata02 ~]# jps
2631 QuorumPeerMain
2249 NodeManager
2139 DataNode
2715 HRegionServer

然后在bigdata03上执行jps命令,会发现多了一个HRegionServer进程,这个就是HBase集群从节点中的进程

[root@bigdata03 ~]# jps
2625 QuorumPeerMain
2250 NodeManager
2140 DataNode
2702 HRegionServer

如果发现HMaster进程和HRegionServer进程都在,说明HBase集群正常启动了
HBase提供的有web界面,可以通过浏览器确认集群是否正常启动,端口默认是16010

http://bigdata01:16010/

在这里插入图片描述

四、停止HBase集群

[root@bigdata01 hbase-2.2.7]# bin/stop-hbase.sh

注意:在停止集群进程的时候,要先停HBase集群进程,再停止Zookeeper集群和Hadoop集群,否则HBase停止程序会一直卡住不动,这种情况就需要使用kill命令强制杀进程了。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐