Hbase 架构
- 宏观架构:Hbase采用Master/Slave 架构搭建集群 它隶属于hadoop生态系统 由HMaster节点 HRegion Server节点 Zookeeper集群组成 而在底层 它将数据存储在HDFS中 因而涉及到HDFS的NameNode DataNode等
- 在物理上:Hbase由master/slave类型体系结构中的三种服务器组成 Region Server为读取和写入提供数据 访问数据时 客户端直接与Region Server通信 Region的分配 DDL(创建 删除表)操作由HMaster处理 作为HDFS一部分的zookeeper维护活动集群状态 hadoop DataNode存储 Region Server正在管理的数据 所有Hbase数据都存储在HDFS文件中 Region Server与HDFS数据节点并置 从而为Region Server提供的数据实现数据局部性 除了Region在切片的时候 Hbase写入不是本地的 但是在Hbase在完成compaction之后 Hbase数据是基于本地写入的 NameNode维护构成文件的所有物理数据块的元数据信息
-
Region
Hbase 表按Rowkey范围水平划分为“Region” 一个Region包含表中改Region的开始键和结束键之间的所有行 将Region分配给群集中称为Region Server
的节点 这些Region Server为读取和写入提供数据 Region Server可以服务大约1000个区域 -
Hbase HMaster
区Region 分配 DDL(创建 删除表)操作-
协调region server
- 分配regions的启动 和 为了恢复并且负载均衡重构region
- 监视所有服务器端在群集里的实体(监听来自zookeeper的通知)
-
管理功能
- 创建 删除 修改表
-
-
Zookeeper
zookeeper为Hbase集群提供协调服务 它管理着主节点和服务器端的状态 并且会在它们宕机时通知给主节点 从而主节点可以实现主节点之间的failover(故障转移)或对宕机的服务器端中的主节点集合的修复(将它们分配给其他的服务器) zookeeper集群本身使用一致性协议(PAXOS协议) 保证每个节点状态的一致性
未完…
Hive 架构
- 概念:Hive提供了一个
sql命令的操作接口
允许用户可以使用类似
sql的Hive的查询语句执行一些离线的sql分析 hive与传统的数据库不同 hive只是构建在hadoop的MapReduce之上的sql解析工具 并不参与数据管理
和存储
hive中所有的数据都是在运行任务
的时候才会真正的加载
- Hive和关系数据库的区别:
- hive和关系数据库存车文件的系统不同 Hive使用的是hadoop的HDFS 关系数据库则是服务器本地的文件系统
- Hive使用的计算模型是MapReduce 而关系数据有自己设计的计算模型
- 关系数据库都是为OLTP(在线事务处理)进行设计的 而Hive则为海量数据做挖掘设计的 实时性很差 实时性的区别导致hive的应用场景和关系数据库有很大的不同
- Hive很容易扩展自己的存储能力和计算能力 这个继承hadoop特性 而关系数据库在这个方面比hive差