【HBase】(4)-HBase写数据流程

简介: 【HBase】(4)-HBase写数据流程

 简 介:HBase是谷歌BigData论文的一个代码实现,在大数据处理领域应用广泛。本文意在记录自己近期学习过程中的所学所得,如有错误,欢迎大家指正。

 

关键词:大数据组件、HBase、NoSQL

一、HBase的写流程

客户端向HBase写入数据分为几个流程:

  1. 获取meta表所在的的RegionServer,也就是说客户端需要访问Zookeeper获得meta表所在的服务器,meta表中维护者我们HBase中所有表的位置,我们要获得我们要写的表的所在位置
  2. 向维护meta表的RegionServer访问,获得meta表
  3. 从meta表中获得我们目标写入数据的表所在的RegionServer
  4. 向目标表所在的RegionServer进行发送请求
  5. 向memstore进行写入数据
  6. 然后向wal中写入预写日志,记录数据操作
  7. 向客户端发送ack,证明put成功,此时客户端就不用管任何事了,之后的flush刷写操作就全部交给RegionServer来进行管理。

有个地方需要注意就是当我们向memstore写入数据时,如果发生异常,就是触发回滚机制,将刚才写入的数据进行清空,如果写入成功,我们再次向wal中写入日志。

我们看到zookeeper目录下有个hbase,hbase下面有个meta-region-server,查看后可以发现它是存在hadoop103上面,我们访问下16010端口查看一下是不是

用命令行扫描一下这个表,看一下这个表中到底存在着什么数据

我们可以看到有一列就是info:server,它的值就存着该表所在的RegionServer,每个rowkey就是表名加上切分该表的rowkey范围

rver,每个rowkey就是表名加上切分该表的rowkey范围

现在看上面是每一张表只对应一个RegionServer,原因是表现在比较小,还没有达到切分条件,如果达到一定阈值就会进行切分,再次扫描该表就会看到每张表对应不同的RegionServer。


目录
相关文章
|
分布式数据库 Hbase
HBase读取与写入流程
HBase读取与写入流程
143 0
|
Java Shell 分布式数据库
【大数据技术Hadoop+Spark】HBase数据模型、Shell操作、Java API示例程序讲解(附源码 超详细)
【大数据技术Hadoop+Spark】HBase数据模型、Shell操作、Java API示例程序讲解(附源码 超详细)
390 0
|
存储 分布式数据库 数据库
Hbase学习二:Hbase数据特点和架构特点
Hbase学习二:Hbase数据特点和架构特点
412 0
|
缓存 监控 Shell
如何使用 HBase Shell 进行数据的实时监控和备份?
如何使用 HBase Shell 进行数据的实时监控和备份?
271 5
|
Shell 分布式数据库 Hbase
如何使用 HBase Shell 进行数据的批量导入和导出?
如何使用 HBase Shell 进行数据的批量导入和导出?
886 5
|
缓存 监控 Shell
使用 HBase Shell 进行数据的实时监控和备份
使用 HBase Shell 进行数据的实时监控和备份
483 6
|
Shell 分布式数据库 Hbase
使用 HBase Shell 进行数据的批量导入和导出
使用 HBase Shell 进行数据的批量导入和导出
1231 6
|
存储 Java 分布式数据库
HBase构建图片视频数据的统一存储检索
HBase构建图片视频数据的统一存储检索
|
存储 分布式计算 分布式数据库
《HBase MapReduce之旅:我的学习笔记与心得》——跟随我的步伐,一同探索HBase世界,揭开MapReduce的神秘面纱,分享那些挑战与收获,让你在数据的海洋里畅游无阻!
【8月更文挑战第17天】HBase是Apache顶级项目,作为Bigtable的开源版,它是一个非关系型、分布式数据库,具备高可扩展性和性能。结合HDFS存储和MapReduce计算框架,以及Zookeeper协同服务,HBase支持海量数据高效管理。MapReduce通过将任务拆解并在集群上并行执行,极大提升处理速度。学习HBase MapReduce涉及理解其数据模型、编程模型及应用实践,虽然充满挑战,但收获颇丰,对职业发展大有裨益。
209 0
|
消息中间件 关系型数据库 MySQL
实时计算 Flink版操作报错合集之使用 Event Time Temporal Join 关联多个 HBase 后,Kafka 数据的某个字段变为 null 是什么原因导致的
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
361 0