用一个例子了解Yarn和Zookeeper之间是什么关系

Zookeeper和Yarn是一起工作的,它们一起管理资源。

举例说明
在一个分布式系统上。现在有个事要办。我们要找这个系统办这个事,就要通知yarn。打个比方,yarn的master node看看这个系统里有很多node,看看谁有空,谁有能力(cpu、内存、等)来干这个事。然后把任务分配给合适的node来办这个事。 这个时候系统面临一个危险。那就是在分布式系统中,failure成为常态。yarn master node管理着很多个node,管理着它们哪一个出问题了。

危险在于master自己坏了怎么办。
常见的分布式系统出问题的解决办法是我们总保持有一个待命的,到需要的时候顶上。yarn里的ResourceManager也有待命的。当一个ResourceManager坏了,或者需要升级更新,另一个ResourceManager要接手。

这时候麻烦来了,新的ResourceManager怎么知道哪个任务已经完成,哪个还没有,用户想执行的任务到什么状态了,一个任务所必须的先决条件任务是否已经完成。
这个情形中,Yarn自己成了Single point of failure。 新启动的ResourceManager成了这个分布式系统的另外一个大脑。两个大脑管理同一套资源,就可能有不一致的地方。 要解决这个问题,我们就要保存Yarn自身的各种状态,比如都收到了哪些任务,各个任务都执行到了什么状态,收到了哪些安全许可。这些东西保存在Resource Manager State Store里。 ResourceManager State Store自己怎么管理呢。好几种办法,存在内存,存在文件,

或者另外一个更容易的办法就是Zookeeper了。
Zookeeper控制着什么时候,谁可以读写这个ResourceManager State Store。Zookeeper自己也是个cluster,它也是Fault Tolerance(容错)的,我们就省去了自己管理这个资源的各种麻烦。 Zookeeper保存着它所管理的系统的各种状态,可以保证任何时候都只有一个版本的系统状态。即便是Yarn的Master坏了,重启了,正在升级,也不会出现冲突。所以说起来,Yarn和Zookeeper的功能是不一样的,对于一套完整的系统,两者都需要使用。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值