目录
一、HBase 安装部署
1.1 Zookeeper 正常部署
1.2 Hadoop 正常部署
1.3 HBase 安装
1.4 HBase 的配置文件
1.4.1hbase-env.sh
1.4.2hbase-site.xml
1.4.3regionservers
1.4.4 创建目录
1.5 HBase 远程发送到其他节点
1.6 HBase 服务的启动
1.6.1单点启动(推荐)
1.6.2 群启
1.6.2停止服务
1.7 查看 HBase 页面
1.8 高可用(推荐)
二、HBase 集群扩缩容
- jdk 版本的支持参考: Apache HBase ™ Reference Guide
- 与 hadoop 的版本对应参考: Apache HBase ™ Reference Guide(向下滑到 4.1 章节)
一、HBase 安装部署
主机名称 | IP | 资源 | 部署角色 |
hadoop01 | 192.168.170.136 | 2cpu 4G | master、regionserver |
hadoop02 | 192.168.170.137 | 2cpu 4G | master、regionserver |
hadoop03 | 192.168.170.138 | 2cpu 4G | regionserver |
1.1 Zookeeper 正常部署
首先保证 Zookeeper 集群的正常部署,并启动之。
安装教程:【Zookeeper 初级】02、Zookeeper 集群部署-CSDN博客
1.2 Hadoop 正常部署
Hadoop 集群的正常部署并启动。
安装教程:Hadoop YARN HA 集群安装部署详细图文教程_hadoop yarn部署-CSDN博客
1.3 HBase 安装
HBase 官方下载地址:Apache Download Mirrors
(base) [root@hadoop01 ~]# lshbase-2.5.6-bin.tar.gz# 解压 Hbase 到指定目录(base) [root@hadoop01 ~]# tar -zxvf hbase-2.5.6-bin.tar.gz -C /bigdata/(base) [root@hadoop01 ~]# cd /bigdata/(base) [root@hadoop01 /bigdata]# mv hbase-2.5.6 hbase# 配置环境变量(base) [root@hadoop01 /bigdata]# vim /etc/profile# hbaseexport HBASE_HOME=/bigdata/hbaseexport PATH=$PATH:$HBASE_HOME/bin# 使用 source 让配置的环境变量生效(base) [root@hadoop01 /bigdata]# source /etc/profile
1.4 HBase 的配置文件
1.4.1hbase-env.sh
[root@hadoop01 /bigdata]# cd /bigdata/hbase/conf/[root@hadoop01 /bigdata/hbase/conf]# vim hbase-env.sh # 关闭 hbase 自带zk,使用自己搭建的 zookeeper 集群export HBASE_MANAGES_ZK=false# 设定 hbase 的内存为 2G,生产环境中可开启设置#export HBASE_HEAPSIZE=2G# 增加系统环境配置, 必须在/etc/profile定义JAVA_HOMEsource /etc/profileexport JAVA_HOME=/usr/java/jdk1.8.0_381# 存放 PID 文件的目录export HBASE_PID_DIR=/bigdata/hbase/pids# 避免 master 启动报错类冲突export HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP="true"
1.4.2hbase-site.xml
[root@hadoop01 /bigdata/hbase/conf]# vim hbase-site.xmlhbase.rootdirhdfs://hadoop01/hbasehbase.cluster.distributedtruehbase.zookeeper.property.clientPort2181hbase.zookeeper.quorumhadoop01,hadoop02,hadoop03hbase.tmp.dir/bigdata/hbase/tmpdatahbase.unsafe.stream.capability.enforcefalsehbase.master.info.port60010
1.4.3regionservers
[root@hadoop01 /bigdata/hbase/conf]# vim regionservers hadoop01hadoop02hadoop03
1.4.4 创建目录
[root@hadoop01 ~]# mkdir -p /bigdata/hbase/tmpdata# 如果 hadoop 是集群模式(HA 模式),则执行以下步骤(base) [root@hadoop01 ~]# ln -s /bigdata/hadoop/server/hadoop-3.2.4/etc/hadoop/core-site.xml /bigdata/hbase/conf/core-site.xml(base) [root@hadoop01 ~]# ln -s /bigdata/hadoop/server/hadoop-3.2.4/etc/hadoop/hdfs-site.xml /bigdata/hbase/conf/hdfs-site.xml
1.5 HBase 远程发送到其他节点
[root@hadoop01 ~]# scp -r /bigdata/hbase 192.168.170.137:/bigdata/hbase[root@hadoop01 ~]# scp -r /bigdata/hbase 192.168.170.138:/bigdata/hbase# 并修改 /etc/profile 环境变量(其他节点),同 1.3 的步骤一样
1.6 HBase 服务的启动
1.6.1单点启动(推荐)
# 只启动本节点 masterhbase-daemon.sh start master# 启动所有从节点hbase-daemon.sh start regionserver
1.6.2 群启
# 只启动本机器的 master 和所有机器的从节点, 不推荐, 推荐使用 daemon 脚本start-hbase.sh[root@hadoop01 ~]# jps1264 RunJar2512 JournalNode1442 RunJar2212 DataNode2789 DFSZKFailoverController3189 ResourceManager1734 QuorumPeerMain3382 NodeManager7368 HMaster2028 NameNode7614 HRegionServer7711 Jps
1.6.2停止服务
# 只停止本节点的 master 和所有节点的 regionserverstop-hbase.sh
1.7 查看 HBase 页面
启动成功后,可以通过 “192.168.170.136:60010” 的方式来访问 HBase 管理页面,例如:
1.8 高可用(推荐)
在 HBase 中 HMaster 负责监控 HRegionServer 的生命周期,均衡 RegionServer 的负载,如果 HMaster 挂掉了,那么整个 HBase 集群将陷入不健康的状态,并且此时的工作状态并不会维持太久。所以 HBase 支持对 HMaster 的高可用配置。
# 可以随意选择任意一个节点作为 Backup Master,这里我以 hadoop02节点(base) [root@hadoop02 /bigdata/hbase/conf]# hbase-daemon.sh start master(base) [root@hadoop02 /bigdata/hbase/conf]# jps1570 DataNode35123 Jps1701 JournalNode34694 HRegionServer1865 DFSZKFailoverController2009 ResourceManager2121 NodeManager1338 QuorumPeerMain1466 NameNode35050 HMaster
访问Backup Master 页面:192.168.170.137:60010
刷新 hadoop01 页面:
至此 HBase 高可用集群部署完毕!
二、HBase 集群扩缩容
在新节点初始化并拷贝安装目录。
# 在新节点启动 masterhbase-daemon.sh start regionserver# 修改各节点的 conf/regionservers,增加新节点的 ipvi conf/regionservers# 进入 hbase shell, 开启重新分配 region 数据, 这是hbase的一个周期性工作, 默认 5 分钟hbase shellbalance_switch true# 执行命令查看当前 hbase 的负载均衡 balance 是否开启# 注意这个命令没有写错, 不是 balance_switch status, status 是将 balance 状态强制转换为 falsebalancer_enabled# 立即进行一次均衡操作# 当前各节点的 region 数量可以在前端页面查看balancer
上一篇文章:HBase 详细图文介绍-CSDN博客