zoukankan      html  css  js  c++  java
  • HBase-存储-概览

    概览

    HBase主要处理两种文件:一种是预写日志(Write-Ahead Log,WAL),另一种是实际的数据文件。这两种文件主要由HRegionServer管理。在某些情况下,HMaster也可以进行一些底层的文件操作。当存储数据到HDFS中时,用户可能注意到实际的数据文件会被切分成更小的块。也正是这一点,用户可以配置系统来更好地处理较大或较小的文件。

    一个基本的流程是客户端首先联系ZooKeeper子集群(quorum)查找行键。上述过程是通过ZooKeeper获取含有-ROOT-的region服务器名(主机名)来完成的。通过含有-ROOT-的region服务器可以查询到含有.META.表中对应的region服务器名,其中包括请求的行键信息。这两处的主要内容都被缓存下来了,并且都只查询一次。最终,通过查询.META.服务器来获取客户端查询的行键数据所在region的服务器名。

    一旦知道了数据的实际位置,即region的位置,HBase会缓存这次查询的信息,同时直接联系管理实际数据的HRegionServer。所以,之后客户端可以通过缓存信息很好的定位所需的数据位置,而不用再次查找.META.表。

    启动HBase时,HMaster负责将所有region分配到每个HRegion Server上,其中也包括特别的-ROOT-和.META.表。

    HRegionServer负责打开region,并创建HRegion实例。当HRegion被打开后,它会为每个表的HColumnFamily创建一个Store实例,每个列族对应一个Store。每个Store实例包含一个或多个StoreFile实例,它们是实际数据存储文件HFile的轻量级封装。每个Store还有其对应的一个MemStore,一个HRegionServer分享了一个HLog实例。

  • 相关阅读:
    Apple MDM
    苹果核
    iOS自动化测试的那些干货
    Wifi 定位原理及 iOS Wifi 列表获取
    详解Shell脚本实现iOS自动化编译打包提交
    PushKit 占坑
    【译】使用 CocoaPods 模块化iOS应用
    NSMutableArray 根据key排序
    iOS 通过tag查找控件
    自己使用 2.常量变量,数据类型,数据的输入输出。
  • 原文地址:https://www.cnblogs.com/EnzoDin/p/9766238.html
Copyright © 2011-2022 走看看