HBase
前言:
hadoop生态圈:
Flume 日志收集工具
Sqoop 关系数据ETL工具,关系数据库和hadoop生态体系中数据导入导出的工具
Mahout 数据挖掘,有一些定义好的mapreduce的算法可以直接调用
Pig 数据流处理语言
Hive 数据仓库
MapReduce 分布式计算框架
HBase 实时、分布式、高维数据库
HDFS 分布式文件系统
ZooKeeper 分布式协作服务
Hbase:
简介:1. HBase Hadoop Database ,是一个高可用、高性能、面向列、可伸缩的、实时读写的分布式数据库
2. 利用Hadoop HDFS作为其文件存储系统,利用hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为其分布式协同服务
3. 主要用来存储非结构化和半结构化的松散数据 列存NoSQL数据库
hbase 数据模型:
1. column family 列族 & qualifier列
2. hbase表中的每个列归属于每个列族,列族必须是表模式定义的一部分预先给出,
3. 列名以列族作为前缀,每个列族 都可以有多个列成员,新的列族成员可以随后按需,动态加入
4. 权限控制、存储以及调优都在列族层面进行的
5. hbase把同一列族里面的数据存储在同一目录,由几个文件保存
hbase体系架构:
1. Client
1.包含访问Hbase的接口并维护cache来加快对Hbase的访问
2. Zookeeper
1.保证任何时候,集群中只有一个master
2.存储所有region的寻址入口
3.实时监控regionserver的上线和下线信息,并实时通知Master
4.存储HBase的schema和table元数据
3. Master
1.为Regionserver分配region
2.负责regionserver的负载均衡
3.发现实效的regionserver并冲刺呢分配其上的region
4.管理用户对table的增删改查
4. Regionserver
1.regionserver维护region,处理对这些region的IO请求
2.regionserver负责切分在运行过程中变得过大的region
<<<<<<< Local Changes
=======
1. 一个region对应多个store,一个store是一个列族,Hbase会把数据横向切分成一个一个的region,在竖向切分成storfile,也就是列,文件以hfile的形成保存在hdfs上。
>>>>>>> External Changes