在 EMR Studio 优化 Spark 任务 - Amazon EMR

在 EMR Studio 优化 Spark 任务

使用 EMR Studio 运行 Spark 任务时,您可以采取几个步骤以确保优化 Amazon EMR 集群资源。

延长您的 Livy 会话

如果您在 Amazon EMR 集群将 Apache Livy 和 Spark 一起使用,我们建议您选择以下一种操作来延长 Livy 会话时间:

  • 当您创建 Amazon EMR 集群时,请在 Enter Configuration (输入配置) 字段设置配置类型。

    [ { "Classification": "livy-conf", "Properties": { "livy.server.session.timeout": "8h" } } ]
  • 针对已经运行的 EMR 集群,请使用 ssh 连接集群,然后在 /etc/livy/conf/livy.conf 设置 livy-conf 配置分类。

    [ { "Classification": "livy-conf", "Properties": { "livy.server.session.timeout": "8h" } } ]

    更改配置后,您可能需要重新启动 Livy。

  • 如果您不想 Livy 会话超时,请在 /etc/livy/conf/livy.conf 将属性 livy.server.session.timeout-check 设置为 false

在集群模式下运行 Spark

在集群模式下,Spark 驱动程序在核心节点上运行,而不是在主节点上运行,从而提高了主节点上的资源利用率。

要以集群模式而不是默认客户端模式运行 Spark 应用程序,在设置部署模式时请选择 Cluster (集群) 模式,同时在新的 Amazon EMR 集群中配置 Spark 步骤。有关更多信息,请参阅 Apache Spark 文档中的集群模式概览

增加 Spark 驱动程序内存

要增加 Spark 驱动程序内存,请使用 EMR Notebooks 的 %%configure 魔术命令配置 Spark 会话,如以下示例所示。

%%configure -f {"driverMemory": "6000M"}