分布式系统有很多问题 其中有两个
- Coordination ( 协调)
- Resource Management ( 资源管理)
Zookeeper偏重解决的是前者
Yarn偏重解决的是后者。比如说现在有个事要办,我们要找这个系统办这个事,就要通知yarn。打个比方,yarn的masternode看看这个系统里有很多node,看看谁有空,谁有能力(cpu、内存、等)来干这个事。然后把任务分配给合适的node来办这个事。
YARN相当于政府,负责管理机器资源的分配,有困难找政府,政府安排人力物力来解决你的问题。这个才是你说的管理节点。
Zookeeper相当于立法委员会,目标是提供权威的信息给这个国家所有的人。Zookeeper关注的主要是信息的一致性,管理一些需要在所有人心中保持一致的信息。它虽然常常用来管理哪个节点活着,哪个节点死了这种信息,或是哪个节点该负责什么事儿,但是它还是主要负责管理信息(档案,法律)的部门,不是民生部门……
Yarn和Zookeeper的功能是不一样的,对于一套完整的系统,两者都需要使用。