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

目前已经更新到了:

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

章节内容

上节我们完成了:

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

背景介绍

这里是三台公网云服务器,每台 2C4G,搭建一个Hadoop的学习环境,供我学习。
之前已经在 VM 虚拟机上搭建过一次,但是没留下笔记,这次趁着前几天薅羊毛的3台机器,赶紧尝试在公网上搭建体验一下。

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

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

项目简介

HBase 基于 Google 的 BigTable 论文而来,是一个分布式海量列式非关系型数据库,可以提供超大规模数据集的实时随机读写
我们平常用的 MySQL 是行存储,空字段也会占用和浪费存储空间。
列存储可以减少存储空间的占用,同时可以支持非常多的列

项目优点

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

项目应用

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

数据模型

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

详细的表格概念:

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

整体架构

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

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。

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