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