大数据-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

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

相关推荐
GetcharZp19 小时前
玩转 Linux 机器视觉:手把手带你搞定 Ubuntu 下海康工业相机 C++ SDK
后端
星星在线1 天前
MusicFree:一个「All in One」的个人音乐服务器,让听歌回归简单
前端·后端
IT_陈寒1 天前
Redis的SETNX并发问题让我加了三天班
前端·人工智能·后端
demo007x1 天前
Docling 文档转换以及技术架构分析
前端·后端·程序员
袋鱼不重1 天前
我的神奇同事,AI 用多了居然写了个 Open In Codex
前端·后端·ai编程
大树881 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
用户8356290780511 天前
使用 Python 操作 Word 内容控件
后端·python
像我这样帅的人丶你还1 天前
啥? 前端也要会干Java?🛵🛵🛵
后端
Hommy881 天前
【剪映小助手】添加贴纸接口(Add Sticker)
后端·github·剪映小助手·视频剪辑自动化·剪映api
大志哥1231 天前
ES和Logstash日志链路系统上线后遭遇切片爆炸(解决)
大数据·elasticsearch