Hbase 简明教程

HBase - Architecture

在 HBase 中,表格被划分为区域并由区域服务器提供服务。区域按列族垂直划分为“存储”。存储在 HDFS 中作为文件保存。下面显示了 HBase 的体系结构。

Note: “存储”一词用于区域以解释存储结构。

architecture

HBase 有三个主要组件:客户端库、主服务器和区域服务器。可以根据需要添加或删除区域服务器。

MasterServer

主服务器 -

  1. 将区域分配给区域服务器并为此任务获得 Apache ZooKeeper 的帮助。

  2. 处理跨区域服务器的区域负载平衡。它卸载繁忙的服务器并将区域转移到占用较少的服务器。

  3. 通过协商负载平衡来维护集群状态。

  4. 负责模式更改和创建表格和列系列等其他元数据操作。

Regions

区域不过是分成几部分并分布在区域服务器上的表格。

Region server

区域服务器拥有 -

  1. 与客户端进行通信并处理与数据相关的事务。

  2. 处理其下所有区域的读写请求。

  3. 通过遵循区域大小阈值决定区域大小。

当我们深入研究该区域服务器时,它会包含区域并存储如下所示:

regional server

该存储包含内存存储和 HFiles。内存存储刚好和缓存内存一样。最初任何输入到 HBase 中的内容都存储在此处。之后,数据被转移保存到 Hfiles 中作为各个块,而内存存储会被清除。

Zookeeper

  1. Zookeeper 是一个开源项目,提供维护配置信息、命名、提供分布式同步等服务。

  2. Zookeeper 具有代表不同区域服务器的临时节点。主服务器使用这些节点发现可用服务器。

  3. 除了可用性以外,该节点还用于跟踪服务器故障或网络分区。

  4. 客户端通过 zookeeper 与区域服务器通信。

  5. 在伪模式和独立模式下,HBase 本身会负责 zookeeper。