HDFS和YARN的HA架构梳理

HDFS介绍

HDFS由四部分组成,HDFS Client、NameNode(NN)、DataNode(DN)和Secondary NameNode(SSN)。 HDFS是一个主/从(Mater/Slave)体系结构,HDFS集群拥有一个NameNode和一些DataNode。NameNode管理文件系统的元数据,DataNode存储实际的数据。

HDFS HA的架构图

1.DN

同时向NN1 NN2发送心跳和块报告。
如下连个参数在hdfs-site.xml配置
dfs.heartbeat.interval:DN的心跳检测时间间隔,默认3秒
dfs.blockreport.intervalMsec:控制DN定期将当前该结点上所有的BLOCK信息报告给NN的时间间隔,默认21600000ms = 6小时

2.ACTIVE NN

接收client的rpc请求并处理,将操作记录写到自己的editlog
同时将editlog写入JN集群->同时写向共享存储的editlog(Jounral Node)
接收DN的心跳和块报告

3.STANDBY NN

同时接收JN集群的日志,显示读取执行log操作(重演),
使得自己的元数据和active nn节点保持一致。
接收DN的心跳和块报告

4.JournalNode

用于active standby nn节点的同步数据,standby会重演active的状态(操作记录editlog )
一般部署2n+1(奇数个,3台起,支持psxox协议)
【官方建议】至少写n/2+1成功才算成功
2n+1台: 【默认是每台运行的节点都会写入】
7台 写: n/2+1  写4台算成功 允许3台宕机
3台 写: n/2+1  写2台算成功 允许1台宕机
standby NN读取的时候是随机选择写入成功一台来读取active NN的状态进行重演

5.ZKFC

与NN一一对应
单独的进程
监控NN监控健康状态
向zk集群定期发送心跳,使得自己可以被选举;
当自己被zk选举为active的时候,zkfc进程通过RPC协议调用使NN节点的状态变为active,对外提供实时服务,是无感知的。

YARN的介绍

  • ResourceManager: 全局资源管理和任务调度

  • NodeManager: 单个节点的资源管理和监控

  • ApplicationMaster: 单个作业的资源管理和任务监控

  • Container: 资源申请的单位和任务运行的容器

YARN的架构图

各组件梳理

1.RM

启动时候会向ZK的/rmstore目录写lock文件,写成功就为active,否则standby.rm节点zkfc会一直监控这个lock文件是否存在,假如不存在,就为active,否则 为standby.
接收client的请求,接收和监控NM的资源状况的汇报,负载资源的分配和调度。
启动和监控ApplicationMaster(AM)

2.RMStateStore

存储在zk的/rmstore目录下。
activeRM会向这个目录写APP信息
当active RM挂了,另外一个standby RM通过ZKFC选举成功为active,会从/rmstore读取相应的作业信息。重新构建作业的内存信息,启动内部的服务,开始接收NM的心跳,构建集群的资源信息,并且接收客户端的作业提交请求。

3.NM

节点资源的管理 ,启动容器运行task计算,container资源情况汇报给RM和任务的处理情况汇报给ApplicationMaster(AM)

HDFS中的zkfc和YARN中zkfc的区别

hdfs中的zkfc是一个进程
yarn里的zkfc是rm中的一个线程
进程: ps -ef
线程是由1个以上的线程组成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值