使用AWS re:Post即您表示您同意 AWS re:Post 使用条款

如何对无法启动、运行缓慢或卡滞在 PENDING(待处理)状态的 Amazon EMR Serverless 作业进行故障排除?

1 分钟阅读
0

我想对无法启动、运行缓慢或卡滞在 PENDING(待处理)状态的 Amazon EMR Serverless 作业进行故障排除。

简短描述

当由于系统处于空闲状态或从低基数扩展而需要一段时间来预调配资源时,就会出现冷启动。

如果您提交了作业,并且来自 initialCapacity 的 Worker 可用,则该作业将使用 initialCapacity 资源来运行。如果其他作业正在使用 initialCapacity 资源,则 Amazon EMR Serverless 应用程序会请求更多 Worker,但不超过最大配额。

解决方法

要对无法启动、运行缓慢或卡滞在 PENDING(待处理)状态的 Amazon EMR Serverless 作业进行故障排除,请执行以下操作:

  • 要让您的驱动程序和 Worker 做好快速响应并立即启动应用程序的准备,请使用预初始化的容量
  • 为 Hive 和 Spark 设置适当的 initialCapacity
  • 为驱动程序和执行程序配置不同的大小
  • 要纵向扩展作业,请指定 CPU、内存和磁盘的最大容量
  • 为避免闲置资源,请将容器大小与预初始化的容量 Worker 大小保持一致。例如,确保您的 Spark 运行大小与预初始化的容量 Worker 大小相同。
  • 要确定应用程序性能并确定潜在瓶颈,请查看 Spark UI 或 Hive Tez UI 中的各个阶段和每个阶段的时间段。有关详细信息,请参阅作业 Worker 级别监控Spark 故障排除和性能调整
  • 遵循 Spark 最佳实践Hive 最佳实践。对于 Amazon EMR 版本 7.1.0 及更高版本,在运行 Apache Spark 或 Hive 作业时使用经过随机优化的磁盘,以提高 I/O 密集型工作负载的性能。
  • 要对作业失败进行故障排除,请选择 Amazon EMR Serverless 存储和管理应用程序日志的方式。
  • 修改或关闭自动停止配置功能。默认值设置为 15 分钟。
  • 为了防止在作业立即需要高并发性时出现瓶颈,请勿使用设置为 1spark.executor.instances
  • 要提高作业性能,请在 spark.dynamicAllocation.enabledtrue 时增加 spark.dynamicAllocation.minExecutors。另外,当 spark.dynamicAllocation.enabledfalse 时,增加 spark.executor.instances 的值。
AWS 官方
AWS 官方已更新 2 个月前