HBase HA 集群环境搭建
安装准备
已安装并启动 HDFS 集群、Zookeeper 集群
角色分配如下:
node-01: namenode datanode regionserver hmaster zookeeper
node-02: datanode regionserver zookeeper
node-03: datanode regionserver zookeeper
安装步骤
- SFTP 工具上传并解压 hbase 安装包 hbase-2.2.7-bin.tar.gz
[root@node-01 ~]# tar -zxvf hbase-2.2.7-bin.tar.gz -C /root/apps
[root@node-01 ~]# rm -rf hbase-2.2.7-bin.tar.gz
- 设置 HBase 环境变量
[root@node-01 hbase-2.2.7]# vim /etc/profile
#行尾添加
export HBASE_HOME=/root/apps/hbase-2.2.7
export PATH=$PATH:$HBASE_HOME/bin
[root@node-01 hbase-2.2.7]# source /etc/profile
- 修改 hbase-env.sh 配置文件
[root@node-01 ~]# cd /root/apps/hbase-2.2.7/conf/
[root@node-01 conf]# vim hbase-env.sh
#删除 27 行注释,设置 JDK 路径
export JAVA_HOME=/root/apps/jdk1.8.0_141/
# 46 行和 47 行添加注释(仅在 JDK 7 需要,JDK 8 不需要直接注释掉)
#export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize =128m -XX:ReservedCodeCacheSize=256m"
#export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX :MaxPermSize=128m -XX:ReservedCodeCacheSize=256m"
#删除 105 行注释,设置 HBase 日志文件路径
export HBASE_LOG_DIR=/root/apps/hbase-2.2.7/logs
#删除 120 行注释,设置pid进程文件存储路径
export HBASE_PID_DIR=/root/apps/hbase-2.2.7/pids
#删除 128 行注释,设置HBase不启用内置的zookeeper(使用外部zookeeper)
export HBASE_MANAGES_ZK=false
- 修改 hbase-site.xml 配置文件
[root@node-01 conf]# vi hbase-site.xml
<configuration>
<!-- 指定hbase在HDFS上存储的路径 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://node-01:9000/hbase</value>
</property>
<!-- 指定hbase是分布式的 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 指定 HMaster 服务器地址-->
<property>
<name>hbase.master</name>
<value>node-01:60000</value>
</property>
<!-- 指定zookeeper的地址 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>node-01,node-02,node-03</value>
</property>
<!-- 指定 Hbaes 临时路径-->
<property>
<name>hbase.tmp.dir</name>
<value>/root/apps/hbase-2.2.7/tmp</value>
</property>
</configuration>
- 修改 regionservers 配置文件
# 指定要启动 RegionServer 集群主机
[root@node-01 ~]# cd /root/apps/hbase-2.2.7/conf
[root@node-01 conf]# vim regionservers
node-01
node-02
node-03
- 配置备份的 Master
[root@node-01 ~]# cd /root/apps/hbase-2.2.7/conf
[root@node-01 conf]# > backup-masters
[root@node-01 conf]# vim backup-masters
node-02
- 将环境配置文件和 hbase 文件夹分别拷贝到 node-02 和 node-03
[root@node-01 conf]# cd /etc/
[root@node-01 etc]# scp profile node-02:$PWD
[root@node-01 etc]# scp profile node-03:$PWD
[root@node-02 hbase-2.2.7]# source /etc/profile
[root@node-03 hbase-2.2.7]# source /etc/profile
[root@node-01 etc]# cd /root/apps/
[root@node-01 apps]# scp -r hbase-2.2.7/ node-02:$PWD
[root@node-01 apps]# scp -r hbase-2.2.7/ node-03:$PWD
启动 HBase 集群
启动 HBase 集群必须先启动 zk 集群 和 HDFS 集群
- 启动 HBase 的 Master(active) 和 regionserver
[root@node-01 bin]# start-hbase.sh
[root@node-01 conf]# jps
5152 HMaster
2930 DataNode
2788 NameNode
1625 QuorumPeerMain
5545 Jps
3165 JournalNode
5341 HRegionServer
- 在浏览器中打开 HBase 的 Web UI 页面(端口:16010)
网址:node-01:16010(active)node-02:16010(backup)