当日志变大时,Spark 历史服务器在 EMR 中停止工作

Spark history server stops working in EMR when logs get large

我是 运行 使用 EMR 在 10 TB 数据集上进行的 Spark 作业。我正在使用 Spark 历史服务器来监控它的进度。但是,当日志变得非常大时,spark 历史服务器和 EMR UI 都会停止更新。我的 EMR 工作还在 运行 还是也停止工作了?

此外,当 spark 历史服务器停止崩溃时,我所有的 EC2 实例从 > 75% CPU 利用率变为 0% 利用率(它们随后增加回 <75%)并且 EMR 控制台显示 0保留容器并释放所有内存(之后它们也 return 正常)。

我的 EMR 工作有什么问题吗?当日志变得非常大时,有没有办法让 Spark 历史服务器保持工作?

谢谢。

是的,这可能是由于大量日志历史记录导致的,您可以尝试schedule/set自动删除。

对于历史日志清理,您可以在spark-defaults.conf文件中设置以下属性以启用设置自动清理,并重新启动服务器

spark.history.fs.cleaner.enabled true
spark.history.fs.cleaner.maxAge  12h
spark.history.fs.cleaner.interval 1h

将所有日志外部化到 S3 存储桶

如果您感兴趣,还有一些提示: