Yarn与Zookeeper(Eureka)对比

一、解决问题:

Yarn Zookeeper(Eureka)
1、可扩展性:下一代计算平台应该可以平滑地扩展到数万个节点和并发的应用。 1、配置管理与服务命名:统一配置文件分发并且及时让worker生效。
2、可维护性:下一代计算平台应该保证集群升级与用户应用程序的完全解耦。 2、 集群管理和Master选举:Master节点高可用,并且保证唯一 。
3、多租户:下一代计算平台需要支持一个集群中多个租户并存,同时支持多个租户之间细粒度地共享单个节点。 3、分布式锁:保证了数据的强一致性,更新操作要么成功,要么失败,没有第三种结果。
4、位置感知:对很多应用来说,将计算移动到数据所在的位置是一个重大的进步。 4、分布式队列:可以进行生产者与消费者式 。
5、高集群使用率:下一代计算平台底层物理资源的高使用率。 5、监控集群:监控集群应用状态。
6、安全和可审计操作:下一代计算平台继续以安全的、可审计的方式使用集群资源 6、单点故障和负载均衡:实现HA与负载。
7、可靠性和可用性:下一代计算平台应该有高度的可靠的用户交互,并支持高可用性。 7、同步数据:Meta信息的及时同步。
8、对编程模型多样性的支持:下一代计算平台必须支持多样化的编程模型,需要演进不仅仅以MapReduce 为核心。 8、顺序一致性:客户端的更新顺序与它们被发送的顺序一致。
9、灵活的资源模型:下一代计算平台支持各个节点的动态资源配置以及灵活的资源模型。 9、单系统镜像:无论客户端连接到哪一个服务器,他都将看到相同的zookeeper视图。
10、向后兼容:下一代计算平台应该保持现有MapReduce 应用程序的完全向后兼容。 10、可靠性:一旦一个更新操作被应用,那么在客户端再次更新之前,其值不会再改变。

二、架构图:
Yarm架构图:
在这里插入图片描述
Zookeeper架构图:
在这里插入图片描述
Eureka架构图:
在这里插入图片描述
三、调度器与队列:
Yran调度器的两个主要功能:1.决定如何划分队列;2.决定如何分配资源。
Yran调度器是一个可插拔的组件,常见的有FIFO,CapacityScheduler,FairScheduler。可以通过配置文件选择不同的调度器。
Yran队列:根据不同的调度器,所有的资源被分成一个或多个队列。

Zookeeper分布式调度中心:利用ZooKeeper的Master选举机制实现或者使用Zookeeper的特性,来控制quartz实现分布式调度。
Zookeeper分布式队列:发布/订阅。数据入队,在一个节点下创建有序子节点,节点中设置需要入队的数据,完成数据的入队操作。数据出队,取出该节点下的所有子节点,如果数量不为0,取出一个子节点,并将子节点删除。

参考: RangeYan

发布了230 篇原创文章 · 获赞 537 · 访问量 71万+

猜你喜欢

转载自blog.csdn.net/qq_32447301/article/details/104785419