amazon-web-services - 在 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 上找到文件,因为它所在的节点变得不健康。
我的问题是我在哪里可以找到节点变得不健康的原因。我无法在亚马逊控制台上找到任何其他日志。可能有一些节点本地的地方存储了这个原因?
解决方案
嗨,我前段时间自己启动了一个 EMR,不记得日志了。但是在这里咨询文档:
https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-manage-view-web-log-files.html
它声明它们存储在机器上(我假设你有密钥),默认情况下它们也存储在 S3 上。不确定它们将在哪个存储桶中创建。
最好的祝福 :)
推荐阅读
- java - 玩数字编程挑战(在 java 中查找子数组的平均值)
- android - 如何使用动画按比例缩放 ViewHolder 的宽度?
- javascript - 获取查询参数
- python - 将 MultiPolygons 和 Polygons 列表转换为单个 MultiPolygon
- codeigniter - 如何在共享主机上部署 vue-codeigniter 分离的逻辑应用程序?
- django - ListView 类中的当前用户变量
- python - 如何在python中制作网格?
- sql - Oracle - 具有连接条件的外部连接
- javascript - 使用javascript从日期到日期验证
- r - 如何在 R 中创建分类区域地图