步骤开始运行后获取EMR集群故障日志的位置



我的EMR集群启动,该步骤运行了一段时间,但随后该步骤被取消,我在集群名称旁边得到一个集群错误消息,如下所示:

Terminated with errors The master failed: Connect timed out

然而,我无法在任何地方找到错误日志,甚至在位于EMR摘要中的s3 Log URI中。然而,我可能在这里错过了它。有人知道我在哪里可以找到错误日志吗?

对日志的访问取决于提交方法:

  • 命令行客户端模式:在提交Spark作业时,将标准输出和标准错误收集到日志文件中:
spark-submit [--deploy-mode client] ... 1>output.log 2>error.log
  • 使用EMR步骤的客户端模式:从关联的S3位置下载(压缩的)日志文件。上面的链接包含了如何识别正确S3位置的详细描述。S3位置取决于集群id、实例id和应用程序。

  • 集群模式(I):从客户端日志(从启动Spark作业的进程)中识别YARN applicationId,然后再次从关联的S3位置下载日志文件。详情如下。

  • 集群模式(II)按照这个答案,你也可以使用yarn logs -applicationId <app ID>直接从YARN集群下载日志,在Spark文档中有更详细的描述。这将是在非emr环境中访问日志的标准方法。与方法三类似,applicationId取自客户端日志。

最新更新