HBase读写流程

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-05 10:03:01

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有大量的小文件

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!