Hbase 原理

简介:

Hbase流程体系图

Hbase 写数据流程

  • 1、 client 向 hregionserver 发送写请求。
  • 2、hregionserver 将数据写到 hlog (write ahead log )。为了数据的持久化和恢复。
  • 3、 hregionserver 将数据写到内存 (memstore)
  • 4、 反馈 client 写成功。

数据 flush 过程

  • 1、 当 memstore 数据达到阈值(默认是 64M),将数据刷到硬盘,将内存中的数据删除,同时删除 hlog 中的历史数据。
  • 2、 并将数据存储到 hdfs 中。
  • 3、 在 hlog 中做标记点。

数据合并过程

  • 1、 当数据达到 4 块, hmaster 将数据块加载到本地,进行合并
  • 2、 当合并的数据超过 256M,进行拆分,将拆分后的 region 分配给不同的 hregionserver 管理
  • 3、 当 hregionser 宕机后,将 和regionserver 上的 hlog 拆分,然后分配给不同的 hregionserver 加载,修改 .META。
  • 4、 注意:hlog 会同步到 hdfs

Hbase 读数据流程

  • 1、 通过 zookeeper 和 -ROOT-.META。表定位 hregionserver 。
  • 2、 数据从内存和硬盘合并后返回 client
  • 3、 数据块会缓存

hmaster 的职责

  • 1、 管理用户对 table 的增、删、改、查等操作。
  • 2、 记录 region 在哪台 HRegion Server 上
  • 3、 在 Region Split 后,负责新 Region 的分配
  • 4、 新机器加入时,管理 HRegion Server 的负载均衡,调整 Region 分布
  • 5、 在 HRegion Server 宕机后,负责失效 HRegion Server 上的 Region 迁移。

hmaster 的职责

  • 1、 HRegion Server主要负责响应用户I/O请求,向HDFS文件系统中读写数据,是HBASE中最核心的模块。
  • 2、 HRegion Server管理了很多table的分区,也就是region。

client职责

  • 1、 HBASE Client使用HBASE的RPC机制与HMaster和RegionServer进行通信
  • 2、 管理类操作:Client与HMaster进行RPC;
  • 3、 数据读写类操作:Client与HRegionServer进行RPC。

hbase依赖zookeeper

1、保存Hmaster的地址和backup-master地址

hmaster:

  • a)管理HregionServer
  • b)做增删改查表的节点
  • c)管理HregionServer中的表分配

2、保存表-ROOT-的地址
hbase默认的根表,检索表。

3、HRegionServer列表
表的增删改查数据。
和hdfs交互,存取数据。

Hbase 命令

名称 命令表达式
创建表 create '表名', '列族名1','列族名2','列族名N'
查看所有表 list
描述表 describe ‘表名’
判断表存在 exists '表名'
判断是否禁用启用表 is_enabled '表名'; is_disabled ‘表名’
添加记录 put ‘表名’, ‘rowKey’, ‘列族 : 列‘ ,'值'
查看记录rowkey下的所有数据 get '表名','rowKey'
查看表中的记录总数 count '表名'
获取某个列族 get '表名','rowkey','列族'
获取某个列族的某个列 get '表名','rowkey','列族:列’
删除记录 delete ‘表名’ ,‘行名’ , ‘列族:列'
删除整行 deleteall '表名','rowkey'
删除一张表 先要屏蔽该表,才能对该表进行删除。第一步 disable ‘表名’ ,第二步 drop '表名'
清空表 truncate '表名'
查看所有记录 scan "表名"
查看某个表某个列中所有数据 scan "表名" , {COLUMNS=>'列族名:列名'}
更新记录 就是重写一遍,进行覆盖,hbase没有修改,都是追加

到这里 hbase 的基本原理,和使用命令就写完了。




本文转自 SimplePoint 51CTO博客,原文链接:http://blog.51cto.com/2226894115/2061521,如需转载请自行联系原作者

相关实践学习
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
4月前
|
存储 算法 分布式数据库
HBase原理 | HBase内部探险
HBase原理 | HBase内部探险
76 0
|
5月前
|
存储 缓存 负载均衡
98 hbase原理
98 hbase原理
43 0
|
存储 负载均衡 监控
HBase分布式数据库架构及原理
Client是操作HBase集群的入口,对于管理类的操作,如表的增、删、改操纵,Client通过RPC与HMaster通信完成,对于表数据的读写操作,Client通过RPC与RegionServer交互,读写数据。
512 0
HBase分布式数据库架构及原理
|
8月前
|
存储 分布式计算 关系型数据库
|
8月前
|
存储 缓存 负载均衡
HBASE原理整理
HBASE原理整合
102 0
|
9月前
|
存储 运维 监控
分布式数据库HBase的重要机制和原理的宕机恢复和故障处理
HBase是一个分布式数据库系统,支持高可用性、高性能和高伸缩性。在分布式环境中,数据的分布式存储和管理是非常重要的。HBase通过分布式存储和管理数据来实现高可用性和高性能。同时,HBase还提供了一些重要的机制和原理来支持宕机恢复和故障处理。
317 1
|
9月前
|
存储 容灾 大数据
分布式数据库HBase的重要机制和原理的容灾与备份机制
在当今的互联网时代,数据的安全性和可靠性已经成为了企业的核心竞争力之一。而在大数据领域,分布式数据库HBase作为一个开源的分布式数据库系统,因其高性能、高可靠性和易于扩展性等特点,受到了广泛的应用。本文将深入探讨HBase中的重要机制之一:容灾与备份机制,帮助开发者更好地理解和掌握HBase的工作原理。
284 0
|
9月前
|
存储 负载均衡 大数据
分布式数据库HBase的重要机制和原理的负载均衡原理
在当今的互联网时代,数据的存储和处理已经成为了企业的核心竞争力之一。而在大数据领域,分布式数据库HBase作为一个开源的分布式数据库系统,因其高性能、高可靠性和易于扩展性等特点,受到了广泛的应用。本文将深入探讨HBase中的重要机制之一:负载均衡原理,帮助开发者更好地理解和掌握HBase的工作原理。
219 0
|
9月前
|
存储 分布式计算 监控
分布式数据库HBase的重要机制和原理的复制原理
在当今的互联网时代,数据的存储和处理已经成为了企业的核心竞争力之一。而在大数据领域,分布式数据库HBase作为一个开源的分布式数据库系统,因其高性能、高可靠性和易于扩展性等特点,受到了广泛的应用。本文将深入探讨HBase中的重要机制之一:复制原理,帮助开发者更好地理解和掌握HBase的工作原理。
174 0
|
9月前
|
存储 分布式计算 Hadoop
分布式数据库HBase的重要机制和原理的读/写流程
HBase是一个分布式数据库系统,基于Google的BigTable和Apache Hadoop的HDFS构建。它提供了一个高性能、可扩展的数据库平台,适用于大规模的数据存储和处理。在阿里云开发者社区中,很多开发者都会使用HBase进行数据存储和处理。本文将介绍HBase的读/写流程。
84 0