RegionServer的整体结构

    xiaoxiao2021-04-12  46

    相关文章链接:

    http://blog.csdn.net/firstephen/article/details/9256715

    http://www.binospace.com/index.php/hbase-in-depth-analysis-of-the-regionserver/

     

    1、调用自身HRegionServer构造函数

    2、生成memstoreFlushsplitcompaction等线程

    3、getMaster()  ,取出"/hbase/master"节点中的数据,向HMaster报告自己启起来后

    4、调用handleReportForDutyResponse把自己挂到zookeeper的/hbase/rs节点下

    5、启动SplitLogWorker,检测是否有splitLog需要回滚重做

    6、周期性的向master汇报regionserver的负载信息等  

     

     

    RegionServer的整体结构

    一个region server包含了五部分功能:

    1.zookeeper相关的线程

        MasterAddressTracker负责捕获master节点的状态

        ClusterStatusTracker追踪hbase集群的状态

        CatalogTracker跟踪rootmeta表和region的状态

        SplitlogWorker竞争获取znode上的splitlog,并切分HLog按照region分组,放到相应region

            recovered.edits目录下

    2.region相关的线程

        regionserver包含了一个region的集合,每个具体的操作会分到一个指定的region去处理

        CompactionChecker用于周期性的检查是否需要compact,如需要交给CompactSplitThread处理

        CompactSplitThread用于合并和切分处理的线程

        MemStoreFlusher如果memstore满了则flushHDFS

    3.WAL相关

        HLog按照hbase的架构,一个regionserver只有一个hlog,多个region是共享的

        LogRoller用于日志回滚

    4.和客户端通讯

        RPC server模块,这里包含了很多线程,listenerselecthandler线程

        Leases 用于租借时间检查

    5.master及监控相关

        HMasterRegionInterface用户管理hbase

        HServerLoad检查hbase负载,并和master通讯

        HealthCheckChore服务的监控检查

        RegionServerMetrics 获取metrics相关的数据

        web server,启用一个jettyserver,可以监控region相关的信息

    转载请注明原文地址: https://ju.6miu.com/read-667901.html

    最新回复(0)