HDFS (三) 联邦,HA

FederationMetrics:

 

 

ViewFileSystem:

主要作用:维护和多个NameNode集群文件路径之间的映射关系。在用户层面不需要区分多个集群。

例配置:

<configuration>
  <property>
    <name>fs.viewfs.mounttable.test.link./user</name>
    <value> hdfs://slave1:9000/user </value>
  </property>
  <property>
    <name>fs.viewfs.mounttable.test.link./tmp</name>
    <value> hdfs:/ master:9000/tmp </value>
  </property>
  <property>
    <name>fs.viewfs.mounttable.test.link./data</name>
    <value> hdfs://slave2:9000/data</value>
  </property>
</configuration>

成员:

ViewFileSystem(): 根据配置文件初始化要映射的集群文件路径。  ViewFileSystem->initialize->InodeTree(根据配置初始化)->createLink

InodeTree<FileSystem>:fsState: 映射HDFS集群路径。

 

 

HA(High Availability):

HAState:

BackupNode:

DFSZKFailoverController:

主要作用:继承自ZKFailoverController

成员:

doRun():  进行初始化 initZK(),initRPC(), initHM(), startRPC(), mainLoop()。

recheckElectability():检查当前服务状态病加入选举

ActiveStandbyElector:

HealthMonitor:doHealthChecks(),进行健康检查

ActiveStandbyElector:

主要作用:

成员:

becomeActive(): 

becomeStandby():

ZooKeeper zkClient:创建节点,写入NameNode节点信息

processResult():zkClient.create() 的回调函数。如果节点创建成功则执行becomeActive(),如果节点已存在在执行becomeStandby().  函数调用过程processResult()->becomeActive()->ElectorCallbacks implements ActiveStandbyElectorCallback.becomeActive()->ZKFailoverController.becomeActive()->HAServiceProtocolHelper.transitionToActive()->NameNodeRpcServer.transitionToActive()->NameNode.transitionToActive()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值