基于上一篇Hadoop集群已经搭建完成基础上(需要的朋友可以翻看我的上一篇博文),我们来完成Hbase的搭建工作。
一、节点规划
二、Zookeeper集群安装
由于Hbase集群master的高可用需要依赖Zookeeper集群,所以需要安装Zookeeper集群。
zooker安装:省略
三、Hbase安装:
1、下载解压hbase
mkdir -p /opt/hbase
cd /opt/hbase
wget http://mirror.bit.edu.cn/apache/hbase/2.2.6/hbase-2.2.6-bin.tar.gz
tar -zxvf hbase-2.2.6-bin.tar.gz
2、修改hbase-site.xml
mkdir -p /opt/hbase/hbase-2.2.6/tmp
mkdir -p /opt/hbase/hbase-2.2.6/data
vim /opt/hbase/hbase-2.2.6/conf/hbase-site.xml
#添加内容如下
<configuration>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://node1:8020/hbase</value> <!--我这里使用的是hdfs默认端口8020-->
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/mydata/hbase/hbase-2.2.6/tmp</value> <!--路径需要修改成自己刚刚创建的-->
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/mydata/hbase/hbase-2.2.6/data</value> <!--路径需要修改成自己刚刚创建的-->
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value> <!--端口修改成自己的zk端口-->
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>node1</value>
</property>
</configuration>
注意 hbase.rootdir要跟hadoop中的配置一致(即和 /opt/hadoop/hadoop-3.2.1/etc/hadoop/core-site.xml 中的fs.defaultFS 配置的IP和端口是一致的!
3、修改hbase-env.sh
vim /opt/hbase/hbase-2.2.6/conf/hbase-env.sh
#jdk 路径
export JAVA_HOME=/opt/jdk1.8
# 不要用hbase 自带的zookeeper
export HBASE_MANAGES_ZK=false
说明:
Hbase依赖于zookeeper,所有的节点和客户端都必须能够访问- zookeeper。
HBase的安装包里面有自带的ZooKeeper,BASE_MANAGES_ZK环境变量用来设置是使用HBase默认自带的 Zookeeper还是使用独立的ZooKeeper。
HBASE_MANAGES_ZK为 false 时使用独立的.
HBASE_MANAGES_ZK为 true 时表示使用默认自带的,让Hbase启动的时候同时也启动自带的ZooKeeper。
4、修改regionservers
vim /opt/hbase/hbase-2.2.6/conf/regionservers
#添加如下内容,注意删除自带的localhost
node21
node245
node255
5、将所有配置copy到node245和node255上
scp -r hbase/ root@node245:/opt
scp -r hbase/ root@node255:/opt
6、分别在3台机器配置环境变量
vim /etc/profile
#添加如下配置
export HBASE_HOME=/opt/hbase/hbase-2.2.6
export PATH=$HBASE_HOME/bin:$PATH
#配置生效
source /etc/profile
7、在node21上执行服务启动命令
[root@node21 ~]# start-hbase.sh
8、检查集群服务启动情况
检查node21节点:
[root@node21 conf]# jps -l
2768 sun.tools.jps.Jps
18470 org.apache.hadoop.hdfs.server.datanode.DataNode
1943 org.apache.hadoop.hbase.regionserver.HRegionServer
19144 org.apache.hadoop.yarn.server.nodemanager.NodeManager
18940 org.apache.hadoop.yarn.server.resourcemanager.ResourceManager
18269 org.apache.hadoop.hdfs.server.namenode.NameNode
26989 org.apache.zookeeper.server.quorum.QuorumPeerMain
1757 org.apache.hadoop.hbase.master.HMaster
可以看到hbase的两个服务,一个是HMster,一个是HregionServer。
检查node245节点:
[root@node245 ~]# jps -l
10689 org.apache.hadoop.hdfs.server.datanode.DataNode
15985 sun.tools.jps.Jps
10810 org.apache.hadoop.yarn.server.nodemanager.NodeManager
14348 org.apache.zookeeper.server.quorum.QuorumPeerMain
15628 org.apache.hadoop.hbase.regionserver.HRegionServer
可以看到hbase的服务一个是HregionServer已经成功启动。
检查node255节点:
[root@node255 ~]# jps -l
19768 org.apache.hadoop.hdfs.server.datanode.DataNode
19976 org.apache.hadoop.yarn.server.nodemanager.NodeManager
19886 org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode
25758 org.apache.zookeeper.server.quorum.QuorumPeerMain
28014 sun.tools.jps.Jps
27567 org.apache.hadoop.hbase.regionserver.HRegionServer
同样,可以看到hbase的服务一个是HregionServer已经成功启动。
9、访问Hbase的页面:
浏览器访问http://node21:16010 查看hbase 状态

可以看到Hbase的3个节点信息。
以上就完成了整个Hbase集群的搭建工作!