大数据-34 HBase 单节点配置 hbase-env hbase-site xml

点一下关注吧!!!非常感谢!!持续更新!!!

🚀 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的基础架构
  • ZK在HBase中解决
  • 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进行下载:

shell 复制代码
http://archive.apache.org/dist/hbase/1.3.1/

你也可以使用 wget 工具进行下载:

shell 复制代码
wget https://archive.apache.org/dist/hbase/1.3.1/hbase-1.3.1-bin.tar.gz

解压配置

目前我在 h121 的机器上

shell 复制代码
tar -zxvf hbase-1.3.1-bin.tar.gz -C /opt/servers

拷贝依赖

我们需要修改配置文件,把 Hadoop 目录下的:

  • core-site
  • hdfs-site

这两个文件拷贝到HBase目录下

shell 复制代码
ln -s /opt/servers/hadoop-2.9.2/etc/hadoop/core-site.xml /opt/servers/hbase-1.3.1/conf/core-site.xml
cp /opt/servers/hadoop-2.9.2/etc/hadoop/hdfs-site.xml /opt/servers/hbase-1.3.1/conf/hdfs-site.xml

修改配置

hbase-env

shell 复制代码
#添加java环境变量
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
#指定使用外部的z
export HBASE_MANAGES_ZK=FALSE

修改内容截图如下:

hbase-site

shell 复制代码
<configuration>
  <!-- 指定hbase在HDFS上存储的路径 -->
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://h121.wzk.icu:9000/hbase</value>
  </property>
  <!-- 指定hbase是分布式的 -->
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <!-- 指定zk的地址,多个用","分割 -->
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>h121.wzk.icu:2181,h122.wzk.icu:2181,h123.wzk.icu:2181</value>
  </property>
</configuration>

servers

修改 regionservers 文件

shell 复制代码
h121.wzk.icu
h122.wzk.icu
h123.wzk.icu

环境变量

shell 复制代码
export HBASE_HOME=/opt/servers/hbase-1.3.1
export PATH=$PATH:$HBASE_HOME/bin

记得刷新环境变量,配置的截图如下:

相关推荐
paopaokaka_luck2 小时前
基于Spring Boot+Vue的吉他社团系统设计和实现(协同过滤算法)
java·vue.js·spring boot·后端·spring
Flobby5293 小时前
Go语言新手村:轻松理解变量、常量和枚举用法
开发语言·后端·golang
Warren984 小时前
Java Stream流的使用
java·开发语言·windows·spring boot·后端·python·硬件工程
程序视点4 小时前
IObit Uninstaller Pro专业卸载,免激活版本,卸载清理注册表,彻底告别软件残留
前端·windows·后端
xidianhuihui5 小时前
go install报错: should be v0 or v1, not v2问题解决
开发语言·后端·golang
智海观潮5 小时前
Unity Catalog与Apache Iceberg如何重塑Data+AI时代的企业数据架构
大数据·人工智能·ai·iceberg·catalog
柏峰电子6 小时前
市政道路积水监测系统:守护城市雨天出行安全的 “智慧防线”
大数据·人工智能·安全
进击的铁甲小宝6 小时前
Django-environ 入门教程
后端·python·django·django-environ
掘金码甲哥6 小时前
Go动态感知资源变更的技术实践,你指定用过!
后端
威斯软科的老司机7 小时前
AR远程协作系统设计:虚实融合场景下的设备维护操作指引界面
大数据·ar·可视化