目录
百战程序员,全站22050+开发课程+文档 ,学习精选优质好课快人一步!观看视频 快捷键ALT+N

大数据全系列 教程

1869个小节阅读:466.9k

收藏
全部开发者教程

408考研

JAVA全系列 教程

面向对象的程序设计语言

Python全系列 教程

Python3.x版本,未来主流的版本

人工智能 教程

顺势而为,AI创新未来

大厂算法 教程

算法,程序员自我提升必经之路

C++ 教程

一门通用计算机编程语言

微服务 教程

目前业界流行的框架组合

web前端全系列 教程

通向WEB技术世界的钥匙

大数据全系列 教程

站在云端操控万千数据

AIGC全能工具班

A

A A

White Night

阅读(273)
赞(0)

2.3 读流程(重点)

  1. Client访问Zookeeper,查找hbase:meta表位置,看它在哪个RegionserverR上。

  2. Client访问regionserverR上hbase:meta表中的数据,查找要操作rowkey的所在表对应region所在的regionserverX,将读取到的meta数据缓存到Client的Meta Cache中。

  3. Client读取regionserverX上的对应的region数据

  4. 定位到真正的数据所在的region的时候,按照下述步骤进行操作:

  5. 查找blockcache;如果blockcache有完整的数据则直接返回;如果没有或者有部分数据则,再去读取MemStore,查找storefile的数据,同时将数据缓存与blockcache中。

  6. 先去blockcache(读缓存)查找,如果找到则返回,反之下一步

  7. 再去memstore中查找,找到则返回,如果找不到则继续下一步。

  8. 读取对应的storefile,查找,找到后,缓存到blockcache中,并返回给client。没有找到数据。

  9. client获取不到数据;获取到数据后也可以在本地缓存起来,以便于下次直接从缓冲区中读取该数据。

总结:HBase客户端查找关注的行范围所在的regionserver。它通过查询hbase:meta表来完成此操作。在找到所需的region(psn-region2)之后,客户端联系提供该region的RegionServer,而不是通过Master,并发出读取请求。此信息缓存在客户端中,以便后续请求无需经过查找过程。如果Master的负载均衡器重新平衡或者由于regionserver宕机,都会重新指定该region的regionserver。客户端将重新查询目录表以确定用户region的新位置。

 

北京市昌平区回龙观镇南店村综合商业楼2楼226室

©2014-2023 百战卓越(北京)科技有限公司 All Rights Reserved.

京ICP备14032124号-2