首页 > 解决方案 > 在 AWS EMR 集群中哪里可以找到节点日志?

问题描述

我在AWS EMR 集群上运行了 pyspark 程序。集群配置是这样的——emr-5.31.0、hadoop 2.10.0、hive 2.3.7、hue 4.7.1、pig 0.17.0。

程序处理 hdfs 文件系统上的一些文件,但有时它会出错。

在亚马逊控制台 - YARN 应用程序 - application_XXX (Spark) - executors - driver - stderr: 'could not get block ... file=

在此消息之前不久,“阶段 35 中的任务 0 失败了 4 次。中止工作'

如果我去亚马逊控制台 - YARN 应用程序 - application_XXX(Spark) - 阶段 - 35 - 任务 - 0 - 标准输出 - 除了很多“GC(分配失败)”消息外,乍一看我没有看到任何不好的东西。

在其标准错误 - 有一个警告 - '无法获得块 XXX,文件 = 没有活动节点包含当前块块位置:死节点:。抛出 BlockMissingException。

如果我去监控选项卡 - 节点状态 - 我看到一个节点当时变得不健康,就是这样。在“实时数据节点”、“MR 总节点”、“MR 活动节点”、MR 丢失节点图表中,节点数量也发生了变化。

据我了解,任务无法在 hdfs 上找到文件,因为它所在的节点变得不健康。

我的问题是我在哪里可以找到节点变得不健康的原因。我无法在亚马逊控制台上找到任何其他日志。可能有一些节点本地的地方存储了这个原因?

标签: amazon-web-servicesapache-sparkhadoop-yarnamazon-emr

解决方案


嗨,我前段时间自己启动了一个 EMR,不记得日志了。但是在这里咨询文档:

https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-manage-view-web-log-files.html

它声明它们存储在机器上(我假设你有密钥),默认情况下它们也存储在 S3 上。不确定它们将在哪个存储桶中创建。

最好的祝福 :)


推荐阅读