【问题标题】:How can I trick Spark (using Yarn) to use all the nodes?如何欺骗 Spark(使用 Yarn)使用所有节点?
【发布时间】:2016-11-03 00:11:15
【问题描述】:

如果使用 Yarn 调度程序,Spark 的任务执行似乎是以内存为中心的。如果它发现任务的内存可以容纳更少的节点,它就不会使用所有可用节点来运行这些任务。有没有办法,我可以让 Yarn 使用所有节点,而不是通过增加执行器/容器的内存来欺骗它?

【问题讨论】:

  • 您是否尝试过传入 spark-submit arg --num-executors n 其中 n 是您希望应用程序使用的节点数

标签: apache-spark hadoop-yarn bigdata


【解决方案1】:

可能导致更多工作分配的因素之一是“mapreduce.input.fileinputformat.split.maxsize”。如果你想要更多任务(一个执行者有多个任务),那么减少这个。您可能必须根据您的任务是否需要(内存/cpu/磁盘)来取得平衡。

仅当您的输入文件是可拆分的时,上述因素才有效。可拆分文件的示例包括未压缩文本 (csv/tsv)、压缩/未压缩序列、压缩/未压缩 orc/rc/parquet 文件。

另外,你可以考虑spark dynamic allocation

【讨论】:

    猜你喜欢
    • 2017-10-29
    • 2021-07-13
    • 2013-06-21
    • 2013-05-03
    • 1970-01-01
    • 2011-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多