【问题标题】:With how many spark nodes should I use Mesos or Yarn?我应该使用多少个 spark 节点来使用 Mesos 或 Yarn?
【发布时间】:2016-04-01 03:45:10
【问题描述】:

我目前运行一个包含 4 个 spark 节点和 1 个 solr 节点的集群。我想将集群快速扩展到 20 个节点,然后扩展到 100 个左右。我只是不确定使用 Mesos 或 Yarn 的集群大小是多少?当我的节点少于 100 个时,添加 Yarn 或 Mesos 是否有意义?

谢谢

【问题讨论】:

    标签: apache-spark hadoop-yarn mesos


    【解决方案1】:

    Mesos 和 YARN 可以毫无问题地扩展到数千个节点。

    决定使用什么是工作负载,如果您的工作负载仅具有与 spark 或 hadoop 相关的作业/任务,YARN 将是更好的选择,否则如果您有 Docker 容器或其他要运行的东西,那么 Mesos 会是更好的选择。

    使用 Mesos 还有很多其他的优点和缺点,请在比较中找到它们here

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

    如果您想与其他应用程序一起运行 Spark,或者使用更丰富的资源调度功能(例如队列),YARN 和 Mesos 都提供了这些功能。其中,YARN 可能会预装在许多 Hadoop 发行版中。

    如果您的节点少于 100 个,并且您不打算与 spark 一起运行任何其他应用程序,那么 spark 独立集群将是一个更好的选择,因为您不会过度杀戮。

    这又取决于您想使用的功能,例如队列或调度程序,例如 Fair 调度程序,然后 YARN/Mesos 才有意义。 (使用或不使用这些功能取决于您对 spark 集群的用途、工作负载以及集群的繁忙程度。)

    【讨论】:

    • 与 cassandra 交互很好,与上述任何集群都没有区别。
    • 谢谢。如果我有 16 个 spark 节点,它们也与 cassandra 在同一个集群中,并且还需要对 cassandra 进行读写。我目前正在将 spark 与 python 一起使用。我想提高我的 spark 应用程序的性能。但是我真的需要 Yarn 吗?集群模式有什么好处?
    • 让 YARN 来安排您的任务将取决于您的集群的繁忙程度,如果您的集群将非常繁忙并且每秒要处理数十个作业,那么 YARN 将是有益的,因为它与 spark 独立集群管理器相比,具有高级排队和调度功能。
    • 拥有 Cassandra 集群也不会改变任何这些行为,除非您可以获得最近的 spark 执行器联系点(就像数据本地化一样),它可以节省网络流量。
    • 当您在集群模式下提交申请时,所有与作业相关的文件将被复制到集群中的一台机器上,如果您在客户端提交申请,该机器将代表您提交作业mode 提交作业的机器将负责与驱动程序相关的活动。这意味着提交作业的机器不能下线,而在集群模式下,提交作业的机器可以下线。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-02
    • 2016-11-03
    • 1970-01-01
    • 2022-07-01
    • 1970-01-01
    • 2016-11-17
    • 1970-01-01
    相关资源
    最近更新 更多