搜索
您的当前位置:首页正文

Hadoop 集群之HDFS HA、Yarn HA

来源:步旅网

部署集群的原因

如果我们采用单点的伪分布式部署,那么NN节点挂了,就不能对外提供服务。集群的话,存在两个NN节点,一个挂了,另外一个从standby模式直接切换到active状态,实时对外提供服务(读写)。在生产上,避免出现对外服务中断的情况,所以会考虑采用集群部署。

HDFS HA (High availability)

单点式伪分布:
NN
SNN secondary 1小时checkpoint
DN
HDFS HA:
NN active
NN standby 实时备份
DN
JN : JounalNode 日志
ZKFC : zookeeperFailoverController(控制NN为active还是standby)
图解如下:

总结:

学习中的集群部署

hadoop001
NN
ZKFC(与NN部署在同一台机器上)
DN
JN
ZK
hadoop002
NN
ZKFC(与NN部署在同一台机器上)
DN
JN
ZK
hadoop003
DN
JN
ZK
生产上的集群:
假如还有几台空机器hadoop004-010 那么就可以把001 002 上部署的DN拿下来,部署在hadoop004-010 机器上,这个是要看具体机器的配置及数量,按需分配

Yarn HA

图解如下:

  1. zkfc是在RM里面的,只作为RM进程的一个线程而非独立的守护进程来独立存在。这个涉及到一个概念,线程
    在yarn HA中,zkfc是线程,也就是RM进程的一个线程。所谓进程就是jps 、 ps-ef | grep xxx 能够查看到的,而线程 属于一个进程的里面的 除非特殊命令和工具才能看到。 包含至少一个线程。

  2. NM:
    节点的资源管理,启动container运行task计算,上报资源,汇报task进度给AM (ApplicationMaster)

yarn HA 和hdfs HA之间的区别

  1. hdfs中zkfc是属于进程。yarn中zkfc是属于RM进程中的一个线程
  2. dn和nm的区别:DN会同时给NN active和standby都发送心跳包和块报告。NM只会向NN active发送心跳包
  3. hdfs HA集群启动的进程顺序:
  4. 架构:

因篇幅问题不能全部显示,请点此查看更多更全内容

Top