hadoop的由来,发展历程就不bbbbbb啦。网上随便一下,比较多。hadoop2.x 为什么会有yarn?要追溯到hadoop1.0时代。

可以做一个总结:
下面给出hadoop1.0和hadoop2.x之间的一个形象图
hadoop2.x --- yarn 概念 笔记

可以看出,hadoop2.x 发生了比较大的变化,hadoop通过一个zookeeper的方式对namenode做了一个故障转移,可以规避namenode挂掉之后导致的数据突然的丢失的风险。
看过hadoop1.X系列的,就可以看出来1.X的问题,如果namenode挂掉,可能会有丢数据的风险。
通过上面的图,可以吧yarn理解成一个操作系统去理解。具有很强的扩展性。至于yarn的角色定位,可以看下面这个图
hadoop2.x --- yarn 概念 笔记

这样可以最大的利用资源。
看看伟大的2.X yarn 的架构
hadoop2.x --- yarn 概念 笔记

惊不惊喜,意不意外,是不是很复杂很庞大。
其实yarn就是肢解了1.X 版本的jobtracker,yarn就把资源管理和作业调度这两个功能进行了拆分,资源管理在2.X 里面用RM 来管理,AM来管理作业调度和监控。NodeManager也是每一个从节点上都要有这么一个进程来管理你当前本地的一些资源
hadoop2.x --- yarn 概念 笔记
再看看这个,差别还是很大的吧。
你相当于是这个左边的JobTracker变成了右边的ResourceManger,功能也不一样了,这个ResourceManager的权限只是这个JobTracker的一半,然后原来TaskTracker就变成了一个NodeManager,但是你HDFS这块没有什么变化,HDFS的主仍然是Namanode,在2.0里面也是NameNode,然后存数据HDFS的数据节点在1.0里面是DataNode,在2.0里面也是DataNode,所以这个进程是没有变的

相关文章: