gpt4 book ai didi

apache-spark - 如何在不停止 Spark 流的情况下清理 Spark 历史事件日志

转载 作者:行者123 更新时间:2023-12-04 04:40:25 28 4
gpt4 key购买 nike

我们有一个 Spark 流应用程序,这是一项长期运行的任务。事件日志指向 hdfs 位置 hdfs://spark-history,当我们开始流式传输应用程序时正在其中创建 application_XXX.inprogress 文件,并且文件大小增长到 70GB。要删除日志文件,我们将停止 Spark 流应用程序并将其清除。
有没有办法在不停止或重新启动应用程序的情况下自动执行此过程。我们已将 spark.history.fs.cleaner.enabled=true 配置为清洁间隔为 1 天,最大年龄为 2 天。但是它没有清理 .inprogress 文件。我们使用的是 spark 1.6.2 版本。我们在 yarn 上运行 spark 并以集群模式部署。

最佳答案

这个问题你必须在少数配置中做一些改变,你必须在你的文件中添加一些改变yarn-default.xml .在此文件中,您需要更改此行或添加此行:

yarn.nodemanager.log-aggregation.roll-monitoring-interval-seconds=3600

此修改会将您的文件汇总给您,这将允许您通过 yarn logs -applicationId YOUR_APP_ID 查看数据。

这是第一步。你可以看看这个 here .

第二步你需要创建一个文件 log4j-driver.property 和一个 log4j-executor.property

在这个文件中,你可以使用这个例子:
log4j.rootLogger=INFO, rolling
log4j.appender.rolling=org.apache.log4j.RollingFileAppender
log4j.appender.rolling.layout=org.apache.log4j.PatternLayout
log4j.appender.rolling.layout.conversionPattern=[%d] %p %m (%c)%n
log4j.appender.rolling.maxFileSize=50MB
log4j.appender.rolling.maxBackupIndex=5
log4j.appender.rolling.file=/var/log/spark/${dm.logging.name}.log
log4j.appender.rolling.encoding=UTF-8
log4j.logger.org.apache.spark=WARN
log4j.logger.org.eclipse.jetty=WARN
log4j.logger.com.anjuke.dm=${dm.logging.level}

这行在唱什么?

这家伙: log4j.appender.rolling.maxFileSize=50MB将只创建 50MB 大小的文件。当一个日志文件达到 50MB 时,它将被关闭并开始一个新的。

另一行是相关的: log4j.appender.rolling.maxBackupIndex=5这意味着您将拥有 5 个 50MB 文件的备份历史记录。在此期间,当新文件开始显示时,这将被删除。

创建此日志文件后,您需要通过 spark-submit 命令发送此文件:
spark-submit
--master spark://127.0.0.1:7077
--driver-java-options "-Dlog4j.configuration=file:/path/to/log4j-driver.properties -Ddm.logging.level=DEBUG"
--conf "spark.executor.extraJavaOptions=-Dlog4j.configuration=file:/path/to/log4j-executor.properties -Ddm.logging.name=myapp -Ddm.logging.level=DEBUG"
...

您可以为 Driver 和 Workers 创建日志文件。在命令中,我使用了两个不同的文件,但您可以使用相同的文件。更多详情可以查看 here .

关于apache-spark - 如何在不停止 Spark 流的情况下清理 Spark 历史事件日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42781031/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com