【YARN】yarn 基础知识整理——hadoop1.0与hadoop2.0区别、yarn总结

博客对比了hadoop1.0和2.0的区别,重点介绍了YARN(Yet Another Resource Negotiator),解释了YARN如何解决Hadoop1.0中的NameNode单点故障和MapReduce性能问题。YARN将资源管理和作业控制分离,提高集群资源利用率,支持更多分布式计算程序。博客详细阐述了YARN的架构、重要概念如ResourceManager、NodeManager、MRAppMaster和Container等,以及YARN作业的执行流程。
摘要由CSDN通过智能技术生成

1. hadoop1.0 和 hadoop2.0区别

在这里插入图片描述

1.1 hadoop1.0

在这里插入图片描述

1.1.1 HDFS

对HDFS来说,其主要的运行架构则是master-slave架构,即主从架构。其中呢,master主节点称之为Namenode节点,而slave从节点称为DataNode节点。

这个NameNode的职责是什么呢?

  • NameNode管理着整个文件系统,负责接收用户的操作请求
  • NameNode管理着整个文件系统的目录结构,所谓目录结构类似于我们Windows操作系统的体系结构
  • NameNode管理着整个文件系统的元数据信息,所谓元数据信息指定是除了数据本身之外涉及到文件自身的相关信息
  • NameNode保管着文件与block块序列之间的对应关系以及block块与DataNode节点之间的对应关系

在hadoop1.0中,namenode有且只有一个,虽然可以通过SecondaryNameNode与NameNode进行数据同步备份,但是总会存在一定的延时,如果NameNode挂掉,但是如果有部份数据还没有同步到SecondaryNameNode上,还是可能会存在着数据丢失的问题。

值得一提的是,在HDFS中,我们真实的数据是由DataNode来负责来存储的,但是数据具体被存储到了哪个DataNode节点等元数据信息则是由我们的NameNode来存储的。

这种架构实现的好处是简单,但其局限同样明显:

单点故障问题:因为NameNode含有我们用户存储文件的全部的元数据信息,当我们的NameNode无法在内存中加载全部元数据信息的时候,集群的寿命就到头了。
拓展性问题:NameNode在内存中存储了整个分布式文件系统中的元数据信息,并且NameNode只能有一台机器,无法拓展。单台机器的NameNode必然有到达极限的地方。
性能问题:当HDFS中存储大量的小文件时,会使NameNode的内存压力增加。
隔离性问题:单个namenode难以提供隔离性,即:某个用户提交的负载很大的job会减慢其他用户的job。

1.1.2 Mapreduce

对MapReduce来说,同样时一个主从结构,是由一个JobTracker(主)和多个TaskTracker(从)组成。

而JobTracker在hadoop1.0的MapReduce中做了很多事情,可以说当爹又当妈。

  • 负责接收client提交给的计算任务。
  • 负责将接收的计算任务分配给各个的TaskTracker进行执行。
  • 通过heartbeat(心跳)来管理TaskTracker机器的情况,同时监控任务task的执行状况。
    这个架构的缺陷:

单点故障:依旧是单点故障问题,如果JobTracker挂掉了会导致MapReduce作业无法执行。
资源浪费:JobTracker完成了太多的任务,造成了过多的资源消耗,当map-reduce job非常多的时候,会造成很大的内存开销,潜在来说,也增加了JobTracker失效的风险&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值