【问题标题】:Spark job using only few nodes in the clusterSpark 作业仅使用集群中的几个节点
【发布时间】:2017-10-04 02:05:47
【问题描述】:

我正在运行一个测试作业,它需要压缩 5gb 的数据并转储到 mongoDB 中。 我有 1 个主机和 3 个从机,每个 16 CPU,30gb RAM。提交作业后,spark 似乎只使用 2 个从节点来完成作业并为作业分配 32 个核心,尽管我正在为我的作业使用动态分配。这个作业是这个集群上唯一正在运行的作业,因此我预计在 47 左右在 3 个节点上使用核心(剩下 1 个用于应用程序主纱线)。我在集群中使用 AWS EMR 和纱线。

为什么只有 2 个节点参与作业,并且使用动态分配为作业分配了 32 个核心,是否有特殊原因。

【问题讨论】:

    标签: apache-spark


    【解决方案1】:

    zip 文件不可拆分。如果不手动解压文件,只能在单机上加载。

    任务总数 (200) 表明您正在使用 SQL 聚合。这可能是第一个实际重新分区的数据,根据配置,Spark 可能更喜欢更好的局部性和更少的占用节点数。

    我强烈建议在将文件用作 Spark 的输入之前对其进行解压缩。

    【讨论】:

    • 我有另一个 8 核 3node 设置,其中相同的作业在动态分配下使用相同输入的 23 个核,所以为什么 48 核集群不使用所有可用资源是没有意义的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-20
    • 2019-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-21
    相关资源
    最近更新 更多