独立经理VS.纱线比Mesos

时间:2015-08-04 09:58:34

标签: hadoop apache-spark yarn mesos

在3节点Spark / Hadoop集群上哪个调度程序(Manager)能有效工作? 目前我正在使用独立管理器,但是对于每个spark作业,我必须明确指定所有资源参数(例如:核心,内存等),我想避免这些参数。 我也尝试了Yarn,但它的运行速度比独立管理器快10倍。

Mesos可以提供帮助吗?

群集详情 Spark 1.2.1和 Hadoop 2.7.1

2 个答案:

答案 0 :(得分:13)

Apache Spark以以下群集模式运行

  • 本地
  • 独立
  • YARN
  • Mesos
  • Kubernetes
  • 游牧

本地模式用于在操作系统上运行Spark应用程序。此模式对Spark应用程序开发和测试很有用。

独立,Yarn,Mesos和Kubernetes模式等模式是分布式环境。在分布式环境中,资源管理对于管理计算资源非常重要。因此,要以有效的方式管理计算资源,我们需要良好的资源管理系统或资源计划。

独立适用于小型火花群,但对较大的群集不利(在群集节点中运行火花守护进程(主站+从站)会产生开销)。这些守护进程需要专用资源。因此,不建议将更大的独立产品用于更大的生产群 Standalone仅支持Spark应用程序,它不是通用集群管理器。在我们要运行各种工作负载的企业环境中,Spark独立集群管理器不是一个好选择。

YARN和Mesos模式的情况下,Spark作为应用程序运行,并且没有守护进程开销。因此,我们可以使用YARN或Mesos来获得更好的性能和可伸缩性。 YARN和Mesos都是通用的分布式资源管理,它们支持各种工作负载,如MapReduce,Spark,Flink,Storm等......与容器编排。它们适合运行大规模企业生产集群。

在YARN和Mesos之间,YARN专为Hadoop工作负载而设计,而Mesos专为各种工作负载而设计。 YARN是应用程​​序级调度程序,Mesos是OS级调度程序。 如果您已经运行Hadoop集群(Apache / CDH / HDP),最好使用YARN。如果是一个全新的项目,最好使用Mesos(Apache,Mesosphere)。还有一项规定是使用名为Apache Myriad的项目以共置方式使用它们。

Kubernetes - 用于自动化容器化应用程序的部署,扩展和管理的开源系统。此模式为实验状态。因此它用于以容器化方式运行Spark应用程序。

Nomad - 这是另一个用于运行Spark应用程序的开源系统。 Spark项目作为集群管理器不正式支持此集群管理器。

  

在以上所有模式中,Apache Mesos拥有更好的资源   管理能力。

请参阅此链接,其中包含有关Yarn vs Mesos专业知识的详细说明。 http://www.quora.com/How-does-YARN-compare-to-Mesos

答案 1 :(得分:7)

在3节点集群上,我只是选择独立管理器,额外进程的开销不会得到回报