阅读量:6
点一下关注吧!!!非常感谢!!持续更新!!!
目前已经更新到了:
- 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。