【问题标题】:Running spark cluster on standalone mode vs Yarn/Mesos在独立模式下运行 spark 集群 vs Yarn/Mesos
【发布时间】:2016-04-01 12:56:01
【问题描述】:

目前我正在以独立模式运行我的 spark 集群。我正在从平面文件或Cassandra(取决于工作)读取数据并将处理后的数据写回Cassandra 本身。

我想知道我是否切换到Hadoop 并开始使用Resource manager,例如YARN 或mesos,它是否会给我带来额外的性能优势,例如执行时间和更好的资源管理?

目前,当我在洗牌期间处理大量数据时,可能会出现阶段故障。如果我迁移到YARN,Resource manager 可以解决这个问题吗?

【问题讨论】:

    标签: hadoop apache-spark hadoop-yarn mesos


    【解决方案1】:

    Spark 独立集群管理器还可以为您提供集群模式功能。

    如果您只运行 Spark,Spark 独立集群将提供与其他集群管理器几乎所有相同的功能。

    当您以集群模式提交申请时,所有与作业相关的文件都将被复制到集群上的一台机器上,然后该机器将代表您提交作业,如果您以客户端模式提交申请,则从哪个机器提交的工作将负责与司机相关的活动。这意味着提交作业的机器不能脱机,而在集群模式下,提交作业的机器可以脱机。

    拥有 Cassandra 集群也不会改变任何这些行为,除非您可以获得火花执行器的最近联系点(就像数据本地化一样),它可以节省网络流量。

    如果您使用任一集群管理器,则会重新安排失败的阶段。

    【讨论】:

      【解决方案2】:

      我想知道如果我切换到 Hadoop 并开始使用像 YARN 或 mesos 这样的资源管理器,它是否会给我带来额外的性能优势,比如执行时间和更好的资源管理?

      在独立集群模型中,每个应用程序都使用集群中的所有可用节点。

      来自spark-standalone 文档页面:

      独立集群模式目前仅支持跨应用程序的简单 FIFO 调度程序。但是,为了允许多个并发用户,您可以控制每个应用程序将使用的最大资源数。默认情况下,它将获取集群中的所有核心,这仅在您一次只运行一个应用程序时才有意义。

      在其他情况下(当您在集群中运行多个应用程序时),您可能更喜欢 YARN。

      目前,当我在洗牌期间处理大量数据时,可能会出现阶段故障。如果我迁移到 YARN,资源管理器可以解决这个问题吗?

      不确定,因为您的应用程序逻辑未知。但是您可以尝试使用 YARN。

      查看相关的 SE 问题,了解 YARN 相对于 Standalone 和 Mesos 的优势:

      Which cluster type should I choose for Spark?

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多