Hadoop-33 HBase 初识简介 项目简介 整体架构 HMaster HRegionServer Region

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

目前已经更新到了:

  • Hadoop
  • HDFS
  • MapReduce
  • Hive
  • Flume
  • Sqoop
  • Zookeeper

章节内容

上节我们完成了:

  • 并发出现的问题
  • 锁的解决方案
  • ZK分布式锁的解决方案
  • 实现一个简单的分布式锁ZK版

背景介绍

这里是三台公网云服务器,每台 2C4G,搭建一个Hadoop的学习环境,供我学习。

之前已经在 VM 虚拟机上搭建过一次,但是没留下笔记,这次趁着前几天薅羊毛的3台机器,赶紧尝试在公网上搭建体验一下。

  • 2C4G 编号 h121
  • 2C4G 编号 h122
  • 2C2G 编号 h123

项目简介

HBase 基于 Google 的 BigTable 论文而来,是一个分布式海量列式非关系型数据库,可以提供超大规模数据集的实时随机读写

我们平常用的 MySQL 是行存储,空字段也会占用和浪费存储空间。

列存储可以减少存储空间的占用,同时可以支持非常多的列

项目优点

  • 海量存储:底层基于HDFS存储海量数据
  • 列式存储:HBase表的数据是基于列族进行存储的,一个列族包含多个列
  • 极易扩展:底层依赖HDFS,当磁盘空间不足时,只需要动态增加DataNode服务节点
  • 高并发:支持高并发的读写请求
  • 稀疏:稀疏主要是针对HBase列的灵活性,在列族中,你可以指定任意多的列,在列数据为空的情况下,是不会占用存储空间的。
  • 数据的多版本:HBase表中的数据可以有多个版本值,默认情况下是根据版本号去区分的,版本号就是插入数据的时间戳
  • 数据类型单一:所有的数据在HBase中是以字节数组进行存储的。

项目应用

  • 交通方面:船舶GPS信息,每天有上千万的数据
  • 金融方面:消费信息等等
  • 电商方面:电商网站交易、物流、浏览等
  • 电信方面:通话信息等等

数据模型

详细的表格概念:

整体架构

ZooKeeper

  • 实现了 HMaster高可用 保存了HBase元数据 是所有HBase表的寻址入口
  • 对HMaster和HRegionServer实现了监控

HMaster

  • HRegionServer分配Region 维护整个集群的负载均衡
  • 维护集群的元数据信息
  • 发现失效的Region,将失效的Region分配到正常的HRegionServer上

HRegionServer

  • 负责管理Region
  • 接收客户端读写数据请求
  • 切分在运行过程中变大的Region

Region

  • 每个HRegion由多个Store构成
  • 每个Store保存成一个列族(Columns Family),表有几个列族,就有几个Store
  • 每个Store由一个MemStore和多个StoreFile组成,MemStore是Store在内存中的内容,写到文件后就是StoreFile。
相关推荐
热爱嵌入式的小许23 分钟前
Linux基础项目开发1:量产工具——显示系统
linux·运维·服务器·韦东山量产工具
奔跑吧邓邓子24 分钟前
大数据利器Hadoop:从基础到实战,一篇文章掌握大数据处理精髓!
大数据·hadoop·分布式
说私域1 小时前
基于定制开发与2+1链动模式的商城小程序搭建策略
大数据·小程序
hengzhepa2 小时前
ElasticSearch备考 -- Async search
大数据·学习·elasticsearch·搜索引擎·es
_.Switch3 小时前
Python Web 应用中的 API 网关集成与优化
开发语言·前端·后端·python·架构·log4j
GZ_TOGOGO3 小时前
【2024最新】华为HCIE认证考试流程
大数据·人工智能·网络协议·网络安全·华为
韩楚风4 小时前
【linux 多进程并发】linux进程状态与生命周期各阶段转换,进程状态查看分析,助力高性能优化
linux·服务器·性能优化·架构·gnu
陈苏同学4 小时前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
Pythonliu75 小时前
茴香豆 + Qwen-7B-Chat-Int8
linux·运维·服务器
我是哈哈hh5 小时前
专题十_穷举vs暴搜vs深搜vs回溯vs剪枝_二叉树的深度优先搜索_算法专题详细总结
服务器·数据结构·c++·算法·机器学习·深度优先·剪枝