hbase 架构和相关组件







Zookeeper
1. 保证HMaster节点的HA ephemeral node
2. 保存RegionServer节点的信息, 监控RegionServer的上下线, 异常宕机等 (ephemeral node
3. 维护Hbase的元数据表的位置信息
HMaster
1. DDL操作
2. 记录region在哪台region server上, 负责region的分配和负载均衡。
3. 负责split后新的region的分配。
4. 新的regionserver上线, 负责region的迁移。
5. regionserver下线, 负责失效regionserverregion的迁移
HMaser失效, 不会影响数据的读写。
RegionServer
1. 负责ClientHDFS写数据
2. 管理regionregion split等。




HBase是一个分布式的、可扩展的、面向列的NoSQL数据库,它基于Hadoop分布式文件系统(HDFS)进行数据存储处理。以下是HBase架构组件以及运行原理的概述: 1. HBase架构: - Master节点:负责管理协调整个HBase集群,包括表的创建、Region的分配负载均衡等任务。 - RegionServer节点:负责存储管理数据的实际节点,每个RegionServer可以管理多个Region。 - ZooKeeper:HBase使用ZooKeeper来进行分布式协调元数据的管理。 - HDFS:HBase使用HDFS来存储数据日志文件。 2. HBase组件: - 表(Table):HBase中的数据以表的形式进行组织,表由多个行列族构成。 - 行(Row):表中的每一行都有一个唯一的RowKey来标识,行由多个列组成。 - 列族(Column Family):表中的列被组织成列族,每个列族可以包含多个列。 - 列(Column):表中的每个列都由列族列限定符(Qualifier)组成,用于存储实际的数据。 3. HBase运行原理: - 数据存储:HBase将数据按照RowKey的字典顺序进行分区,每个RegionServer负责管理一些连续的行范围,将数据存储在HDFS上的HFile文件中。 - 写入流程:当客户端进行写入操作时,数据首先会被写入WAL(Write-Ahead Log)文件,然后异步地写入内存中的MemStore。当MemStore达到一定阈值时,数据会被刷写到磁盘上的HFile文件。 - 读取流程:当客户端进行读取操作时,HBase会先从MemStore中查找数据,如果没有找到,则从磁盘上的HFile文件中进行查找。为了加速查询,HBase还使用了Block Cache(缓存)来缓存常用的数据块。 - 负载均衡自动故障恢复:HBase在Master节点上运行负载均衡算法,通过移动Region来平衡集群的负载。同时,HBase使用ZooKeeper来监控RegionServer的状态,当某个RegionServer宕机时,Master节点会重新分配该Region的副本。 通过以上架构组件,以及基于HDFS的数据存储协调机制,HBase能够实现高可靠性、高扩展性高性能的分布式数据存储查询。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值