Hbse 和 Hive 架构的分析

Hbase 架构

  1. 宏观架构:Hbase采用Master/Slave 架构搭建集群 它隶属于hadoop生态系统 由HMaster节点 HRegion Server节点 Zookeeper集群组成 而在底层 它将数据存储在HDFS中 因而涉及到HDFS的NameNode DataNode等
  2. 在物理上: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(创建 删除表)操作

    1. 协调region server

      • 分配regions的启动 和 为了恢复并且负载均衡重构region
      • 监视所有服务器端在群集里的实体(监听来自zookeeper的通知)
    2. 管理功能

      • 创建 删除 修改表
  • Zookeeper
    zookeeper为Hbase集群提供协调服务 它管理着主节点和服务器端的状态 并且会在它们宕机时通知给主节点 从而主节点可以实现主节点之间的failover(故障转移)或对宕机的服务器端中的主节点集合的修复(将它们分配给其他的服务器) zookeeper集群本身使用一致性协议(PAXOS协议) 保证每个节点状态的一致性

未完…

Hive 架构

  1. 概念:Hive提供了一个sql命令的操作接口 允许用户可以使用类似sql的Hive的查询语句执行一些离线的sql分析 hive与传统的数据库不同 hive只是构建在hadoop的MapReduce之上的sql解析工具 并不参与数据管理存储 hive中所有的数据都是在运行任务的时候才会真正的加载

在这里插入图片描述

  1. Hive和关系数据库的区别:
  • hive和关系数据库存车文件的系统不同 Hive使用的是hadoop的HDFS 关系数据库则是服务器本地的文件系统
  • Hive使用的计算模型是MapReduce 而关系数据有自己设计的计算模型
  • 关系数据库都是为OLTP(在线事务处理)进行设计的 而Hive则为海量数据做挖掘设计的 实时性很差 实时性的区别导致hive的应用场景和关系数据库有很大的不同
  • Hive很容易扩展自己的存储能力和计算能力 这个继承hadoop特性 而关系数据库在这个方面比hive差
发布了11 篇原创文章 · 获赞 1 · 访问量 300

猜你喜欢

转载自blog.csdn.net/weixin_45106430/article/details/103947536
今日推荐