Hbase架构全解
依然是hadoop组件的讲解,今天说到HBase 架构,都是一字一句打出来的,希望各位转发加关注,会一直给大家写优质的内容。
物理上,Hbase 是由三种类型的 server 组成的的主从式(master-slave)架构:
- Region Server,负责处理数据的读写请求,客户端请求数据时直接和 Region Server 交互。
- HBase Master,负责 Region 的分配,DDL(创建,删除 table)等操作。
- Zookeeper,作为 HDFS 的一部分,负责维护集群状态。
当然底层的存储都是基于 Hadoop HDFS 的:
- Hadoop DataNode 负责存储 Region Server 所管理的数据。所有的 HBase 数据都存储在 HDFS 文件中。Region Server 和 HDFS DataNode 往往是分布在一起的,这样 Region Server 就能够实现数据本地化(data locality,即将数据放在离需要者尽可能近的地方)。HBase 的数据在写的时候是本地的,但是当 region 被迁移的时候,数据就可能不再满足本地性了,直到完成 compaction,才能又恢复到本地。
- Hadoop NameNode 维护了所有 HDFS 物理 data block 的元信息。