Apache Helix 和 Hadoop YARN (MRv2) 有什么区别。有人对这两种技术都有经验吗?谁能解释一下 Helix 相对于 YARN 的优缺点以及为什么 LinkedIn 的人开发了自己的集群管理而不是使用 YARN?
在此先感谢托比
Apache Helix 和 Hadoop YARN (MRv2) 有什么区别。有人对这两种技术都有经验吗?谁能解释一下 Helix 相对于 YARN 的优缺点以及为什么 LinkedIn 的人开发了自己的集群管理而不是使用 YARN?
在此先感谢托比
虽然 Helix 和 YARN 都提供管理分布式应用程序的功能,但两者之间存在重要差异。
YARN 主要提供跨机器集群的资源管理功能,同时要求应用程序编写其自定义逻辑以从资源管理器协商资源。另一方面,Helix 提供了一种以声明方式管理分布式应用程序状态的方法,从而使应用程序不必进行自定义实现。此时,Helix 并没有像 YARN 一样提供资源管理能力。因此,这两个系统是相当互补的。
作为说明,假设您有一组节点,并且您想在它们上启动一些容器。
YARN 提供了执行上述操作的框架/机制。拥有容器后,您必须实现以下功能:
Helix 可以轻松实现上述功能。在 YARN 中,需要编写 application master 来实现这些(这种实现的一个例子是用于 hadoop map reduce 作业的 Application master)。
Helix 是在 LinkedIn 开发的,用于管理在线/近线空间中的分布式数据系统。在这个空间中,一旦一个容器启动,它就会一直运行直到它崩溃。当一个容器发生故障时,任务可能会在剩余的容器之间重新分配。
YARN 带有资源调度算法,允许灵活高效地利用可用硬件来完成像 map reduce 作业这样的短期任务。