HDFS 读写分离 (源码分析1 :支持从Standby Namenode读)

本文深入探讨HDFS读写分离的实现,特别是如何从Standby Namenode进行读操作,以提高NameNode的性能和吞吐量。文章从源码角度分析ObserverNamenode的启动过程,详细阐述了启动参数和关键函数的变更,揭示了ObserverNamenode不参与checkpoint的独特之处。
摘要由CSDN通过智能技术生成

背景

读写分离架构篇HDFS 读写分离(总体架构介绍),我们综述了需要怎么实现读写分离。我们深入了解了社区现在正在实现和完善的方式,就是支持从Standby Namenode(SBN)进行读,而从Active Namenode(ANN)进行写,从而实现HDFS的读写分离,提高NameNode整体的读写性能和吞吐量。

而从本章开始,我们就从源码的角度对其实现进行分析和研究。本篇为源码分析的第一篇,介绍HDFS如何从源码的角度支持从 SBN进行基本的读操作。

ObserverNamenode(Namenode)的启动

引入:ObserverNamenode的概念,也属于SBN,我们先来看看Namenode的启动过程对应的变化:
HdfsServerConstants类中描述了Namenode启动的时候可以有哪些启动参数:

/** Startup options */
  enum StartupOption{
   
    FORMAT  ("-format"),
    CLUSTERID ("-clusterid"),
    GENCLUSTERID ("-genclusterid"),
    REGULAR ("-regular"),
    BACKUP  ("-backup"),
    CHECKPOINT("-checkpoint"),
    UPGRADE ("-upgrade"),
    ROLLBACK("-rollback"),
    ROLLINGUPGRADE("-rollingUpgrade"),
    IMPORT  ("-importCheckpoint"),
    BOOTSTRAPSTANDBY("-bootstrapStandby"),
    INITIALIZESHAREDEDITS("-initializeSharedEdits"),
    RECOVER  ("-recover"),
    FORCE("-force"),
    NONINTERACTIVE("-nonInteractive"),
    SKIPSHAREDEDITSCHECK(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值