Hadoop系列三——HA

1、hdfs ha
nn active 单点故障SPOF
snn checkpoint 1小时
nn standby 实时备份 实时等待nn active节点挂,随时standby
现在企业普遍还是用2个nn组成hdfs ha 高可靠
data001 nn1(active) zkfc(zookeeperfailovercontrol) jn(日志节点) dn zk
data002 nn2(standby)zkfc(zookeeperfailovercontrol)jn dn zk
data003 jn dn zk
集群的最小版 3台机器

设想一下HA,当其中一个节点挂了,访问不可能去修改代码、脚本等改为第二台机器的ip
命名空间

hdfs dfs -ls hdfs://ruozedata001:9000/

做HA的两种方法
1、QJM
2、NFS

如果zookeeper集群上面有其他应用,可以考虑hdfs和zk集群分开,以防hdfs无法及时切换。

active nn:接收client的rpc的请求,同时自己的editlog文件写一份,也会向jn集群写一份,也同时接收dn的heartbeat blockreport block

standby nn:同时会接受到从jn集群的这份记录,使自己的元数据和active的元数据保持一致。这个动作叫做【重演】。说白了就是acitve nn的一个实时热备份
一旦standby切换为active活动的状态就能够立即马上对外提供服务。

journalNode jn:用于active standby nn同步数据的,本身由jn节点组成,至少2n+1,保证高可用。允许至多(n-1)/2台 jn节点失败。

生产上,65台刀片机,56物理core,2颗GPU,5个SSD/500G,10块2T/机械硬盘 7台jn 10万一台
问清楚,哪些ip机器是一个机架上的(哪些机器是公用一个网络设备的)
jn要放在不同机架上,防止机架出现问题或者网络设备出问题,导致一批网络都进不去

zkfc:
监控nn的健康状态,向zk集群定期地发送心跳,让自己被选举上,当被zk选举为active时,zkfc通过rpc协议调用让nm状态转换为nn active

dn:同时向两个nn发送块报告

yarn的ha架构
减配:【对标】 hdfs ha,没有类似jn集群 ==> zk来替代的
没有zkfc单点进程 > rm进程的zkfc线程
没有dn的多向nn发送心跳
>nm只向active rm发送心跳

rm:
a.启动时,向zk集群hadoop-ha目录写个lock文件。写成功标识为active,否则为standby
standby rm节点会一直监控这个lock文件是否存在。假如不存在,就会尝试去创建,争取为active rm
b.同时会接收client的任务的请求,接收和监控nm的资源汇报。负责资源的分配

zkfc:自动故障转移,是rm的线程。 非独立的守护进程

zk部署奇数,如果挂来一台变偶数,那投票就会失效
hdfs做ha之后,合并文件是各自的工作。
1个G可以有500多万个文件(一个文件200k)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值