从Hadoop1到Hadoop2很大程度上解放了Jobtracker资源调度的问题,这就得多亏了yarn平台了。
我知道的,除了我们的大豆瓣用的是Mesos,咱们国家可以说应该是99.99%都使用的是yarn,
当然了,国外使用的大多是Mesos。(然而我对Mesos并不理解啥,只知道他和yarn一样的作用吧)
Hadoop1当中,MapReduce(一下就简称mr,原谅我不想多打字的烦恼,kkk~)的主从结构,让jobtracker的重任很大,
要接收客户端的请求,要分配任务给tasktracker,还要进行资源监控和作业调度,这会给主节点带来很大的负担,
而且,主节点存在单点故障的问题,而且也没办法支持除了mr之外的计算框架,这也导致mr的运算结果也没办法给别的计算框架直接使用。
所以在Hadoop2中yarn就应运诞生了。
下面是官方给的图,大大牛果然还是不一样的,一个图就基本上解释了yarn产生的原因和带来的好处。(好崇拜大大牛先生~kkk)
谈一下我对yarn如何进行资源调度的理解吧:
我自己画的图,太乱了,将就着看~
YARN 是Hadoop 2.0 中的资源管理系统,它是一个通用的资源管理模块,可为各类应用程序进行资源管理和调度。
这肯定是官方的。
注意:这里我只画了一个任务,但是可以有多个任务的,appmaster向resourceManager注册自己的时候就会告诉ResourceManager自己执行的是哪个任务,就可以区分了。