HBase 的安装与部署

目录

  • [1 启动 zookeeper](#1 启动 zookeeper)
  • [2 启动 Hadoop](#2 启动 Hadoop)
  • [3 HBase 的安装与部署](#3 HBase 的安装与部署)
  • [4 HBase 高可用](#4 HBase 高可用)

1 启动 zookeeper

powershell 复制代码
[huwei@hadoop101 ~]$ bin/zk_cluster.sh start

2 启动 Hadoop

powershell 复制代码
[huwei@hadoop101 ~]$ bin/hdp_cluster.sh start

3 HBase 的安装与部署

(1)将 hbase-2.0.5-bin.tar.gz上传至 /opt/software

(2)解压

powershell 复制代码
[huwei@hadoop101 software]$ tar -zxvf hbase-2.0.5-bin.tar.gz -C /opt/module

(3)配置环境变量

powershell 复制代码
[huwei@hadoop101 software]$ sudo vim /etc/profile.d/my_env.sh

添加

复制代码
# HBASE_HOME
export HBASE_HOME=/opt/module/hbase-2.0.5
export PATH=$PATH:$HBASE_HOME/bin

(4)使环境变量生效

powershell 复制代码
[huwei@hadoop101 software]$ source /etc/profile

(5)修改配置文件

hbase-env.sh

powershell 复制代码
[huwei@hadoop101 software]$ cd /opt/module/hbase-2.0.5/conf/
[huwei@hadoop101 conf]$ vim hbase-env.sh

hbase-site.xml

powershell 复制代码
[huwei@hadoop101 conf]$ vim hbase-site.xml

添加

xml 复制代码
<configuration>
 <property>
        <name>hbase.rootdir</name>
        <value>hdfs://hadoop101:9820/hbase</value>
    </property>

    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>

    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>hadoop101,hadoop102,hadoop103</value>
    </property>
</configuration>

NameNode负责管理文件系统的命名空间和元数据信息, 9820 端口(hadoop3)则是客户端与NameNode进行通信交互的端口。在ZooKeeper集群中,2181端口通常被用作客户端与ZooKeeper集群进行通信的端口

regionservers

powershell 复制代码
[huwei@hadoop101 conf]$ vim regionservers

修改为

复制代码
hadoop101
hadoop102
hadoop103

(6)分发集群配置

powershell 复制代码
[huwei@hadoop101 module]$ xsync hbase-2.0.5/

分发环境变量

powershell 复制代码
[huwei@hadoop101 module]$ scp /etc/profile.d/my_env.sh root@hadoop102:/etc/profile.d/
[huwei@hadoop101 module]$ scp /etc/profile.d/my_env.sh root@hadoop103:/etc/profile.d/

(7)HBase 服务的启动

群起集群(前提是要保证 Zookeeper 和 Hadoop 已经启动)

powershell 复制代码
[huwei@hadoop101 hbase-2.0.5]$ bin/start-hbase.sh

这里出现了日志冲突问题,SLF4J在HBase和Hadoop的库中都有绑定。我们只需删除HBase中的SLF4J,使用Hadoop中的SLF4J即可。(集群中的机器都删)

在那台机器上启动集群,哪个机器就是 master 。

停止集群

powershell 复制代码
[huwei@hadoop101 hbase-2.0.5]$ bin/stop-hbase.sh

(8)查看 HBase 页面

启动成功后,可以通过 "host:port" 的方式来访问 HBase 管理页面,例如:

http://hadoop101:16010

4 HBase 高可用

在 HBase 中 HMaster 负责监控 HRegionServer 的生命周期,均衡 RegionServer 的负载,如果 HMaster 挂掉了,那么整个 HBase 集群将陷入不健康的状态,并且此时的工作状态并不会维持太久。所以 HBase 支持对 HMaster 的高可用配置。

(1)关闭 HBase 集群(如果没有开启则跳过此步)

powershell 复制代码
[huwei@hadoop101 hbase-2.0.5]$ bin/stop-hbase.sh

(2)在 conf 目录下创建 backup-masters 文件

powershell 复制代码
[huwei@hadoop101 hbase-2.0.5]$ touch conf/backup-masters

backup-masters 文件名不能随意写

(3)在 backup-masters 文件中配置高可用 HMaster 节点

powershell 复制代码
[huwei@hadoop101 conf]$ vim backup-masters

添加(在 hadoop102 上启动备份 HMaster )

复制代码
hadoop102

(4)将 conf 目录下的 backup-masters 分发到其他节点

powershell 复制代码
[huwei@hadoop101 conf]$ xsync backup-masters

(5)再次启动 HBase 就会发现 hadoop102 也会启动一个 HMaster 进程

查看 HBase 页面


相关推荐
java_logo1 小时前
Docker 部署 CloudBeaver:轻松搭建网页数据库管理平台
数据库·docker·容器·数据库管理·dbeaver·轩辕镜像·cloudbeaver
李白客2 小时前
AI 数据库落地 NL2SQL:准确率卡在四成,问题在表注释不在模型
数据库
FluxDB2 小时前
FluxDB vs DBX vs DBeaver:GPUI、Tauri、Eclipse 三种技术栈实测
数据库·mysql
杨航 AI3 小时前
JEV的用法
java·前端·数据库
数据库小学妹3 小时前
MySQL分页结果不稳定:唯一键兜底与游标分页
数据库·mysql·dba
风翼靓崽3 小时前
mysql数据备份/恢复
数据库·mysql
贝锐4 小时前
金仓、达梦、TDSQL全适配:向日葵补齐信创数据库层远程运维能力
运维·数据库·信创
xixiaoyunya4 小时前
Redis缓存三大问题实战:穿透、击穿、雪崩,我用一个电商秒杀场景讲清楚
数据库·redis·缓存
这个DBA有点耶5 小时前
Merge还是Materialize?一文讲透MySQL 8.0 CTE底层的执行计划博弈与性能陷阱
数据库·mysql·架构
Thanks_ks6 小时前
MySQL 的 REPEATABLE READ 到底能不能防幻读——从快照读、当前读到 Next-Key Lock
数据库·mysql·innodb·mvcc·锁机制·事务隔离级别·间隙锁