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。
相关推荐
迎風吹頭髮1 小时前
UNIX下C语言编程与实践53-UNIX 共享内存控制:shmctl 函数与共享内存管理
服务器·c语言·unix
迎風吹頭髮2 小时前
Linux内核架构浅谈8-Linux内核与UNIX的传承:设计思想与特性差异
linux·运维·架构
黑马金牌编程2 小时前
Linux 服务器常见的性能调优
linux·运维·服务器·性能优化
非极限码农3 小时前
Neo4j图数据库上手指南
大数据·数据库·数据分析·neo4j
liuyao_xianhui3 小时前
Linux_基本指令1
linux·运维·服务器
莫叫石榴姐4 小时前
SQL百题斩:从入门到精通,一站式解锁数据世界
大数据·数据仓库·sql·面试·职场和发展
sorryhc4 小时前
如何设计一个架构良好的前端请求库?
前端·javascript·架构
Hello.Reader4 小时前
Flink 状态后端(State Backends)实战原理、选型、配置与调优
大数据·flink
liliangcsdn4 小时前
LLM时代基于unstructured解析非结构化pdf
linux·服务器·数据分析
爱吃喵的鲤鱼5 小时前
仿mudou——Connection模块(连接管理)
linux·运维·服务器·开发语言·网络·c++