先决条件 –
Hadoop、Apache HBase 简介
HBase 架构有 3 个主要组件:HMaster、Region Server、Zookeeper。
图 – HBase 的架构
所有 3 个组件描述如下:
- HMaster –
HBase中Master Server的实现是HMaster。它是一个将区域分配给区域服务器以及 DDL(创建、删除表)操作的过程。它监控集群中存在的所有 Region Server 实例。在分布式环境中,Master 运行多个后台线程。 HMaster 有很多功能,比如控制负载平衡、故障转移等。 - 区域服务器 –
HBase 表按行键范围水平划分为 Region。 Region是HBase集群的基本构建元素,由表的分布组成,由列族组成。 Region Server 运行在 Hadoop 集群中的 HDFS DataNode 上。 Region Server 的 Region 负责几件事情,比如处理、管理、执行以及在该组区域上读取和写入 HBase 操作。区域的默认大小为 256 MB。 - 动物园管理员——
它就像 HBase 中的协调器。它提供维护配置信息、命名、提供分布式同步、服务器故障通知等服务。客户端通过zookeeper与区域服务器通信。
HBase 的优势——
- 可以存储大数据集
- 数据库可以共享
- 从 GB 到 PB 的成本效益
- 通过故障转移和复制实现高可用性
HBase 的缺点——
- 不支持 SQL 结构
- 无交易支持
- 仅按键排序
- 集群内存问题
HBase 和HDFS 的比较:
- HBase 提供低延迟访问,而 HDFS 提供高延迟操作。
- HBase 支持随机读写,而 HDFS 支持一次写入多次读取。
- HBase 通过 shell 命令、 Java API、REST、Avro 或 Thrift API 访问,而 HDFS 通过 MapReduce 作业访问。
注 – HBase 广泛用于在线分析操作,例如在银行应用程序中,例如 ATM 机中的实时数据更新,可以使用 HBase。