- HBase 教程
- HBase 首页
- HBase 概述
- HBase 架构
- HBase 安装
- HBase Shell
- HBase 常用命令
- HBase 管理 API
- HBase 创建表
- HBase 列出表
- HBase 禁用表
- HBase 启用表
- HBase 描述和修改表
- HBase 表是否存在
- HBase 删除表
- HBase 关闭
- HBase 客户端 API
- HBase 创建数据
- HBase 更新数据
- HBase 读取数据
- HBase 删除数据
- HBase 扫描
- HBase 计数和截断
- HBase 安全性
- HBase 资源
- HBase 问答
- HBase 快速指南
- HBase 有用资源
HBase 架构
在 HBase 中,表被分割成多个区域,并由区域服务器提供服务。区域根据列族垂直划分成“存储”。存储以文件的形式保存在 HDFS 中。下图显示了 HBase 的架构。
注意:为了解释存储结构,“存储”一词在此处用于表示区域。
HBase 有三个主要组件:客户端库、主服务器和区域服务器。可以根据需要添加或移除区域服务器。
主服务器 (MasterServer)
主服务器:
将区域分配给区域服务器,并为此任务借助 Apache ZooKeeper。
处理跨区域服务器的区域负载均衡。它卸载繁忙的服务器并将区域转移到负载较低的服务器。
通过协商负载均衡来维护集群的状态。
负责模式更改和其他元数据操作,例如创建表和列族。
区域 (Regions)
区域只是被分割并分布在区域服务器上的表。
区域服务器 (Region server)
区域服务器拥有以下区域:
- 与客户端通信并处理与数据相关的操作。
- 处理其下所有区域的读写请求。
- 根据区域大小阈值决定区域的大小。
当我们深入研究区域服务器时,它包含如下所示的区域和存储
存储包含内存存储和 HFile。Memstore 就像缓存内存一样。任何输入 HBase 的内容都先存储在此处。之后,数据会被传输并保存到 HFile 中作为块,并且 Memstore 会被刷新。
ZooKeeper
ZooKeeper 是一个开源项目,提供维护配置信息、命名、提供分布式同步等服务。
ZooKeeper 具有表示不同区域服务器的短暂节点。主服务器使用这些节点来发现可用的服务器。
除了可用性之外,这些节点还用于跟踪服务器故障或网络分区。
客户端通过 ZooKeeper 与区域服务器通信。
在伪分布式和单机模式下,HBase 本身将负责 ZooKeeper。
广告