`
punishzhou
  • 浏览: 142796 次
社区版块
存档分类
最新评论

HMaster的failover 流程(二)

阅读更多

继续上一篇的master failover流程


master挂掉期间没有regionserver挂掉的情况。

昨天写着写着突然发现90 failover存在一个bug,今天测试了一下,果然存在。


当master处理zk上面的unassigned节点时,首先会去getchlidren。这个函数会获取zk unassigned节点

 

set watch(该节点删除触发nodedeleted事件,有子节点创建删除会触发nodeChildrenchanged)然后会对

 

unassigned下所有节点getdata(watch)并set watch。如果这些节点有些值为M_ZK_REGION_OFFLINE,会将该

 

region的regionstate置为offline,并加入rit队列,然空内存并重新assign出去。

 

这样做的目的是由于当ZK上该region的节点时offline时认为此时该region尚未open,需要重新分配。

 

但是有一个问题是如果这个时候region open的rpc请求已经发送出去了,那么在那台rs上面会继续处理open region这

 

个事件这样可能造成几个现象:

 

1.当rs把region open以后,master开始assign,那么该region就有可能被重新分配两次。

 

2.rs open region以后master assign到同一台机器,那么该assign过程中止,但是master 内存中该region数据已经

 

清空导致该无法进行banlance等操作。

 

3.由于assign动作中止,RIT中存在该region的数据且并未清除,当超时时间到以后,会重新assign,但是由于rit中的数

 

据和zk上的数据不匹配导致该region的数据一致存在RIT中,而且不分配,无法balance

 

该问题复现概率比较小,主要是由于master启动failover该查到的region在zk上处于offline状态,而且此时rs还在处理该

 

region。即在rs更新zk的offline状态到opening之间,failover启动并且开始assign。若要重现可在rs处理的过程sleep

 

一段时间,然后重启master。(ms rs发生gc时该问题可能出现概率比较大)

分享到:
评论

相关推荐

    【No0057】HBase源码解析与开发实战.txt

    #### 二、HBase的核心概念 1. **Region** - Region 是 HBase 中最小的数据存储单元。 - 每个 Region 都有一个唯一的起始行键(start key)和一个结束行键(end key)来定义其范围。 - 一个 Region 的大小通常在 ...

    Hbase安装指南

    例如,给定的配置中,192.168.11.12是主HMaster,192.168.11.14是备用HMaster,192.168.11.16、192.168.11.18和192.168.11.20作为Zookeeper和HRegionServer节点,而192.168.11.12到192.168.11.20同时也是HDFS的数据...

    hbase性能调优.pdf

    当超时时间到后,RegionServer 会被 Zookeeper 从 RS 集群中移除,HMaster 收到移除通知后,会对这台 server 负责的 regions 重新 balance,让其他存活的 RegionServer 接管。 然而,调整这个 timeout 值需要谨慎,...

    藏经阁-HBase 和 OpenTSDB 在华为的实战.pdf

    二、OpenTSDB Practices OpenTSDB 是一个分布式时间序列数据库,常用于监控和数据分析。华为在使用 OpenTSDB 时也遇到了许多问题,如数据写入慢、查询慢等。为解决这些问题,华为的工程师采用了一些优化策略,例如...

    华为大数据考试资料.pdf

    二级索引会增加查询次数,因为查询分为两次:一次是通过二级索引表查询到RowKey,第二次是通过RowKey获取完整的行数据。 13. 统一用户管理系统:在大数据平台中,通过统一用户管理系统可以实现各种开源组件应用系统...

    藏经阁-HBase and OpenTSDB Practices at Huawei.pdf

    Huawei 的实践和经验在 HBase 和 OpenTSDB 方面非常丰富,涵盖了加速 HMaster 启动、增强复制机制、迁移到 2.1.x 集群、加速数据摄取、增强数据压缩和提高查询性能等多个方面。这些实践和经验对于大数据时代的企业来...

    第7章 HBase组件安装与配置.pptx

    HBase 的安装与配置需要根据实际情况进行选择,可以选择使用 HBase 的二进制包,也可以从源代码编译安装。HBase 的配置包括配置 RegionServer、HMaster、ZooKeeper 等组件的配置,以及 Region 的分配和负载均衡的...

    第四十九章:Hbase分布式数据库1

    二、Hbase体系结构 Hbase的架构主要包括HMaster、HRegionServer、ZooKeeper以及客户端(Client)等组件。 1. HMaster:负责管理表的生命周期,如创建、删除、修改表。它还执行负载均衡,动态调整HRegion的分布,...

    hbase安装与hbase架构说明

    HBase中的多个HMaster通过Zookeeper的Master Election机制来确定主HMaster,主HMaster负责管理表和Region的生命周期,包括表的创建、删除、分区以及Region的迁移等。 HRegionServer是HBase的核心组件,它们直接处理...

    大数据HBase架构原理.pdf

    【HBase工作流程】 1. **数据路由**:客户端首先通过ZooKeeper找到Meta Region,然后通过Meta Region找到目标UserRegion所在的RegionServer。 2. **数据读写**:客户端直接与RegionServer交互,进行数据的读写操作...

    Hadoop之Hbase从入门到精通.docx

    默认值为3分钟(180000ms),如果超时时间到达,RegionServer将被Zookeeper从RS集群中移除,HMaster将对该服务器负责的regions重新平衡,让其他存活的RegionServer接管。 调优:这个超时时间决定了RegionServer是否...

    Hadoop2.7Hbase1.1.3高可用集群安装与部署.pdf

    3. 基于 Zookeeper 的 ZKFC (Zookeeper Failover Controller) 自动切换机制,当 Active NN 故障时,Standby NN 会自动接管并成为新的 Active NN。 **ResourceManager (RM) HA 实现方式**: 1. RM 将状态信息存储在 ...

    Kafka性能测试报告.pdf

    二、Kafka部署环境 Kafka的部署环境中,work1、work2、work3和work4部署了四个broker,hmaster和work6作为客户端来测试Kafka的写入速度。work的配置为8核16G,hmaster的配置为4核16G。 三、测试Topic和分区 在...

    Hadoop集群架构搭建分析

    二、环境准备 环境准备是指在搭建 Hadoop 集群环境之前需要进行的准备工作,包括设置 IP、设置 hostname、配置 SSH、安装 JDK、安装 Hadoop 等步骤。 设置 IP 需要修改 /etc/sysconfig/network-scripts/ifcfg-eth0...

    Hbase完全分布式集群搭建(详细+,看完就会,).docx

    二、HBase 组件 HBase 的组件包括: * HMaster * RegionServer * ZooKeeper * HRegion * Store * MemStore * StoreFile 三、HBase 配置 HBase 的配置主要包括两部分:hbase-env.sh 和 hbase-site.xml。 * hbase...

    细细品味Hadoop_Hadoop集群(第11期)_HBase简介及安装.pdf

    2. **HMaster**:HMaster 负责整个 HBase 集群的管理和协调工作,包括管理 HRegionServer、处理负载均衡、管理元数据等。HMaster 并不直接存储数据,而是存储数据与 HRegionServer 之间的映射关系。 3. **...

    hbase所需要的包

    4. 值(Value):数据的实际内容,可以是任意二进制数据。 在架构上,HBase采用了Master-Slave结构,主要由HMaster和HRegionServer两部分组成: 1. HMaster:负责全局协调,包括 Region 分配、Region 服务器的监控...

    hbase简介共8页.pdf.zip

    二、HBase架构 HBase采用主从结构,主要由以下组件构成: 1. HMaster:负责 RegionServer 的负载均衡,Region 的分配与迁移,以及处理 RegionServer 的故障恢复。 2. RegionServer:实际存储数据的地方,负责处理...

    HBase源码分析

    总的来说,HBase的源码分析涉及到客户端与服务器的交互、RPC通信机制、数据存储流程以及系统架构等多个层面。理解这些核心机制对于优化HBase性能、排查问题以及进行二次开发都至关重要。通过对HBase源码的深入学习,...

    HBase实战源码

    通过阅读《HBase实战源码》,读者可以了解到上述组件的实现细节,包括数据存储格式、数据分布策略、并发控制以及各种操作的内部流程。这对于优化HBase性能、排查问题以及开发定制化功能具有极高的价值。深入源码,能...

Global site tag (gtag.js) - Google Analytics