• HBase读写流程


    1.简述hbase读写流程

    1.1 读流程

    • 客户端与zk进行连接;从zk找到meta表的region的位置,即meta表的数据存储在某个HReginServer上;客户端与这个HRegionServer建立连接,然后读取meta表中的数据;
    • 根据要查询的namespace、表名、rowkey信息。找到对应的的region信息
    • 找到相应的HRegionServer
    • 找到对应的region
    • 先从memstore里面查找数据,如果没有再到BlockCache上读取
    • 如果BlockCache上也没有找到再到StoreFile上仅从读取
    • 从StoreFile中读取数据到数据后,先写入到BlockCache中然后再返回给客户端

    1.2 写流程

    • client与zk建立链接,从zookeeper中找到meta表中region的位置,然后读取meta表中的数据
    • meta表中存储了用户表的region信息,根据要查询的namespace、表名、rowkey信息。找到写入数据对应的的region信息
    • 找到对应的HRegionServer然后发送写请求
    • 把数据写入到HLog和memstore中
    • memstore中的数据到达阀值后会把数据刷写到磁盘,生成一个storeFile,即一个HFile
    • 当达到一定条件后,会把小的HFile合并成大的HFile,避免hdfs有大量的小文件
  • 相关阅读:
    CentOS 6.5 安装 VNC Server
    vs2008出错
    MySQL 尽量避免使用 TIMESTAMP
    excel中生成32位随机id
    库存扣减和锁
    精通 MySQL 索引
    Java代码性能优化
    RocketMQ 消息丢失场景分析及如何解决
    Java 8 的内存结构
    Spring Boot + MyBatis + MySQL 实现读写分离
  • 原文地址:https://www.cnblogs.com/William364248886/p/11920806.html
Copyright © 2020-2023  润新知