gpt4 book ai didi

java - Apache Helix 与 YARN

转载 作者:太空狗 更新时间:2023-10-29 22:42:33 25 4
gpt4 key购买 nike

Apache Helix 和 Hadoop YARN (MRv2) 之间有什么区别。有没有人有这两种技术的经验?有人能给我解释一下 Helix 相对于 YARN 的优点/缺点,以及为什么 LinkedIn 的人开发了他们自己的集群管理而不是使用 YARN?

提前致谢托比

最佳答案

虽然 Helix 和 YARN 都提供管理分布式应用程序的功能,但两者之间存在重要差异。

YARN 主要提供跨机器集群的资源管理功能,同时要求应用程序编写其自定义逻辑以与资源管理器协商资源。另一方面,Helix 提供了一种以声明方式管理分布式应用程序状态的方法,从而使应用程序不必进行自定义实现。目前Helix并没有像YARN一样提供资源管理能力。因此,这两个系统具有很强的互补性。

作为示例,假设您有一组节点并且您想要在它们上启动一些容器。

  1. 根据资源利用率在节点间分配容器
  2. 启动容器,
  3. 监控容器,如果它们死了重启容器

YARN 提供了执行上述操作的框架/机制。拥有容器后,您必须实现以下功能:

  1. 分区和复制:您需要将任务分配给容器,可能会为每个容器分配多个任务。为了冗余,您可能会选择将任务分配给多个容器。
  2. 状态管理:管理任务的状态
  3. 容错:当容器出现故障时,您可以选择在其余容器之间重新分配工作或根据 SLA 要求重新启动容器。
  4. 集群扩展:您可能会启动新的容器来处理工作负载,然后您希望重新分配任务。
  5. 节流:在所有这些操作中,您可能希望限制某些操作,例如数据移动

Helix 可以轻松实现上述功能。在 YARN 中,需要编写 application master 来实现这些(这种实现的一个例子是 Application master for hadoop map reduce jobs)。

Helix 由 LinkedIn 开发,用于管理在线/近线空间中的分布式数据系统。在这个空间中,一旦容器启动,它就会一直运行直到崩溃。当一个容器出现故障时,任务可能会在其余容器中重新分配。

YARN 带有资源调度算法,可以灵活高效地利用可用硬件来处理 map reduce 作业等短期任务。

关于java - Apache Helix 与 YARN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16401412/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com