大数据 -35 HBase 集群模式 配置和启动 3 节点集群

点一下关注吧!!!非常感谢!!持续更新!!!
🚀 AI 篇持续更新中!(长期更新)
AI 炼丹日志-29 - 字节跳动 DeerFlow 深度研究框斜体样式架 私有部署 测试上手 架构研究,持续打造实用 AI 工具指南!📐🤖
💻 Java 篇正式开启!(300 篇)
目前 2025 年 07 月 07 日更新到:Java-65 深入浅出 分布式服务 网络通信 BIO NIO AIO 详解 附代码 MyBatis 已完结,Spring 已完结,Nginx 已完结,Tomcat 已完结,分布式服务正在更新!深入浅出助你打牢基础!
📊 大数据板块已完成多项干货更新(300 篇):
包括 Hadoop、Hive、Kafka、Flink、ClickHouse、Elasticsearch 等二十余项核心组件,覆盖离线+实时数仓全栈!大数据-278 Spark MLib - 基础介绍 机器学习算法 梯度提升树 GBDT 案例 详解

章节内容
上一节我们完成了:
HBase 下载解压安装
HBase 配置环境变量
HBase 修改配置 hbase-env hbase-site 等
HBase 节点列表配置
背景介绍
这里是三台公网云服务器,每台 2C4G,搭建一个 Hadoop 的学习环境,供我学习。
2C4G 编号 h121
2C4G 编号 h122
2C2G 编号 h123

HBase
项目简介
HBase (Hadoop Database) 是一款基于 Google 的 BigTable 论文设计而来的开源分布式数据库系统。它属于列式存储的非关系型数据库(NoSQL),专门用于处理超大规模数据集的实时随机读写需求。
与传统的关系型数据库如 MySQL 相比,HBase 采用了完全不同的存储方式:
行式存储 vs 列式存储:MySQL 采用行式存储,即使某些字段为空也会占用存储空间;而 HBase 采用列式存储,空字段不会浪费空间
存储容量:MySQL 单表通常限制在百万到千万级数据,而 HBase 可以轻松存储 PB 级数据
扩展方式:MySQL 主要通过垂直扩展(升级硬件),HBase 则支持水平扩展(增加节点)
核心特性
海量数据存储能力
支持 PB 级别大数据存储,单集群可存储超过 100TB 至 PB 级数据
采用分布式存储架构,数据自动分片存储在多个数据节点
支持数据压缩存储,可节省 50%以上的存储空间
典型应用场景:互联网用户行为日志、物联网传感器数据、金融交易记录等海量数据存储
高可用与横向扩展
采用主从架构,RegionServer 作为数据节点可动态扩展
支持在线添加节点,扩容过程不影响业务运行
理论上可以实现存储容量和计算能力的线性增长
每个 RegionServer 管理多个 Region(数据分区),自动负载均衡
典型配置:初始 3 节点,可扩展至上百节点处理 PB 级数据
列族存储
数据按列族(Column Family)物理存储,同列族数据集中存放
适合宽表场景,如用户画像表可能有上千个字段
单条记录只需存储实际有值的列,极大节省存储空间
列族可单独配置压缩算法、过期时间等属性
示例:用户表可设基础信息、行为数据、偏好设置等不同列族
强一致性
提供行级 ACID 事务保证
支持跨行事务,确保相关操作同时成功或失败
采用 MVCC(多版本并发控制)实现读写不阻塞
WAL(预写日志)确保数据持久性
典型应用:金融转账、库存管理等需要强一致性的场景
快速随机读写
多层存储结构:MemStore(内存)+HFile(磁盘)+BlockCache(缓存)
热数据优先缓存在内存,响应时间通常<10ms
支持批量写入和异步刷新机制
BloomFilter 加速查询,避免无效磁盘 IO
典型性能:单节点每秒可处理数万次读写操作 ## 核心特性
海量数据存储能力
支持 PB 级别大数据存储,单集群可存储超过 100TB 至 PB 级数据
采用分布式存储架构,数据自动分片存储在多个数据节点
支持数据压缩存储,可节省 50%以上的存储空间
典型应用场景:互联网用户行为日志、物联网传感器数据、金融交易记录等海量数据存储
高可用与横向扩展
采用主从架构,RegionServer 作为数据节点可动态扩展
支持在线添加节点,扩容过程不影响业务运行
理论上可以实现存储容量和计算能力的线性增长
每个 RegionServer 管理多个 Region(数据分区),自动负载均衡
典型配置:初始 3 节点,可扩展至上百节点处理 PB 级数据
列族存储
数据按列族(Column Family)物理存储,同列族数据集中存放
适合宽表场景,如用户画像表可能有上千个字段
单条记录只需存储实际有值的列,极大节省存储空间
列族可单独配置压缩算法、过期时间等属性
示例:用户表可设基础信息、行为数据、偏好设置等不同列族
强一致性
提供行级 ACID 事务保证
支持跨行事务,确保相关操作同时成功或失败
采用 MVCC(多版本并发控制)实现读写不阻塞
WAL(预写日志)确保数据持久性
典型应用:金融转账、库存管理等需要强一致性的场景
快速随机读写
多层存储结构:MemStore(内存)+HFile(磁盘)+BlockCache(缓存)
热数据优先缓存在内存,响应时间通常<10ms
支持批量写入和异步刷新机制
BloomFilter 加速查询,避免无效磁盘 IO
典型性能:单节点每秒可处理数万次读写操作
公司实践
阿里巴巴:商品画像系统、搜索推荐系统中大量使用。
滴滴:行程数据存储、司机轨迹日志。
美团:用户行为数据和广告点击数据分析。
京东:实时订单行为数据存储与处理。
银行金融机构:用于日志追踪、交易数据审计、风控数据建模。
不适合场景
复杂事务操作(如跨行事务):HBase 只保证单行事务
实时低延迟查询(如毫秒级并发查询接口):需要结合缓存(如 Redis)使用
结构固定、小数据量系统:使用 MySQL、PostgreSQL 更合适
二维关系型 JOIN 多表查询:不支持 SQL JOIN,需要手动实现
集群配置
上一节我们已经完成了单机单节点的 HBase 的启动,完成了配置和环境变量的配置。上节的机器是 h121,现在我们需要将 h122 和 h123 节点配置好。可以使用之前编写的 rsync-script 工具来进行分发:
等待分发的过程,由于云服务器是有限速的,等待还是挺漫长的:

前置要求
请确保:h121 h122 h123 节点都完成了 HBase 的环境配置!!!且配置需要一致!!!(不要忘了环境变量)请确保:h121 h122 h123 节点都完成了 HBase 的环境配置!!!且配置需要一致!!!(不要忘了环境变量)请确保:h121 h122 h123 节点都完成了 HBase 的环境配置!!!且配置需要一致!!!(不要忘了环境变量)
启动集群
我们在 h121 节点上启动 HBase 服务
等待启动完毕

测试效果
如果你顺利启动并且没有报错的话,可以看到 h121 h122 h123 已经按照预期顺利启动了我们访问下面的 IP 地址:
观察到网页已经可以正常访问了:

Shell 测试
进入 Shell
我们在任意一台节点上,输入
即可进入 HBaseShell

查看帮助

查看列表
查看当前 HBase 中有哪些表,由于我们是新启动的,里边是空的。

版权声明: 本文为 InfoQ 作者【武子康】的原创文章。
原文链接:【http://xie.infoq.cn/article/135cf1291a8f6945554e77c6f】。文章转载请联系作者。
评论