HBase2.0 regionServer退出处理流程

简介:

rs主动退出或者宕机超过一定时间后,zk上/hbase/rs目录下对应的znode会被删除;

master的RegionServerTracker组件监听到该目录的子节点变化事件,会对zk上的rs节点和内存中的数进行对比,找出挂掉的ServerName;

ServerManager将该ServerName从onlineServers移到deadservers;

AssignmentManager创建ServerCrashProcedure实例(简称scp)并提交到ProcedureExecutor;

PE首先为scp设置procId,并持久化到hdfs,然后创建对应的RootProcedureState,用以回滚,最后提交到ProcedureScheduler中的相应队列中;

某个WorkerThread从队列中获取到该scp开始执行;

如果meta region在这个rs上,先split其log并assign,然后等待,直到被metaLoadEvent唤醒;

如果存在待处理的wal,则进行分布式split,这个任务由master中的SplitLogManager协调各rs中的SplitLogWorker完成;

split完成后,对该rs下的每个region,提交AssignProcedure(简称ap),然后scp挂起;

ap的执行分为3步:
由balancer分配目标rs;
通过RSProcedureDispatcher请求目标rs打开该region;
接收到已打开的消息后更新region的状态数据,包括内存和meta表(如果是meta region,则更新的是zk上的meta-region-server节点);

ap执行完成的时候,判断如果存在parent proc,则会将childrenLatch减1;

childrenLatch等于0的时候意味着所有ap都已经完成,此时会通过ap携带的parentProcId唤醒前面那个scp;

scp继续执行,清理AssignmentManager和ServerManager中关于该rs的相关数据后结束;

详细流程图:https://www.processon.com/view/link/5c49a5dae4b0fa03cea60e27

目录
相关文章
|
7月前
|
分布式数据库 Hbase
HBase读取与写入流程
HBase读取与写入流程
77 0
|
存储 分布式计算 Hadoop
分布式数据库HBase的重要机制和原理的读/写流程
HBase是一个分布式数据库系统,基于Google的BigTable和Apache Hadoop的HDFS构建。它提供了一个高性能、可扩展的数据库平台,适用于大规模的数据存储和处理。在阿里云开发者社区中,很多开发者都会使用HBase进行数据存储和处理。本文将介绍HBase的读/写流程。
170 0
|
NoSQL 大数据 分布式数据库
【HBase】(6)-Compact合并StoreFile流程
【HBase】(6)-Compact合并StoreFile流程
273 0
【HBase】(6)-Compact合并StoreFile流程
|
存储 缓存 NoSQL
【HBase】(5)-HBase读数据流程
【HBase】(5)-HBase读数据流程
147 0
【HBase】(5)-HBase读数据流程
|
NoSQL 大数据 分布式数据库
【HBase】(4)-HBase写数据流程
【HBase】(4)-HBase写数据流程
166 0
【HBase】(4)-HBase写数据流程
|
缓存 分布式数据库 Hbase
【HBase】(六)详解 HBase 的读、写流程(面试重点)
【HBase】(六)详解 HBase 的读、写流程(面试重点)
294 0
【HBase】(六)详解 HBase 的读、写流程(面试重点)
|
分布式数据库 Hbase 存储
HBase源码分析之HRegion上compact流程分析(一)
        首先来想两个问题:1、何谓compact?2、它产生的背景是怎样的?         compact是指HBase表中HRegion上某个Column Family下,部分或全部HFiles的合并。
1055 1
|
缓存 Java 分布式数据库
排查HBase内存泄漏导致RegionServer挂掉问题
问题描述 在测试Phoenix稳定性时,发现HBase集群其中一台RegionServer节点FullGC严重,隔一段时间就会挂掉。 HBase集群规格       初步分析 使用jstat监控RegionServer的Heap Size和垃圾回收情况 Old区内存一直在90%多,且FullGC次数一直在增多。
2114 0
|
分布式数据库 Hbase
hbase scan客户端服务端流程
hbase scan客户端服务端流程 一:基础知识了解: scanner可分为两种InternalScanner和KeyValueScanner,区别如下 1.
1451 0