EMR 日志 uri 与 /usr/lib/flink/log
Posted
技术标签:
【中文标题】EMR 日志 uri 与 /usr/lib/flink/log【英文标题】:EMR log-uri vs /usr/lib/flink/log 【发布时间】:2021-09-23 19:54:22 【问题描述】:我正在 EMR 中运行 Flink 作业。在我的 EMR 集群中,我可以在 s3 Log URI:s3://aws-logs-xxxxx/elasticmapreduce/
中看到我的作业日志,并且在我的主节点中的 /usr/lib/flink/log/
下也有一些日志。由于我们只为root空间配置了20G,所以很容易因为/usr/lib/flink/log/
下的这些日志文件(flink-flink-historyserver-xxxxx.log
)而达到限制。
我的问题是:
-
哪里定义了将日志文件写入
/usr/lib/flink/log/
?
只要我们已经登录了s3,还需要/usr/lib/flink/log/
下的日志吗?
有没有办法禁用它或执行类似 Spark fs.cleaner 之类的操作:
spark.history.fs.cleaner.enabled true
spark.history.fs.cleaner.maxAge 12h
spark.history.fs.cleaner.interval 1h
这是我在 flink-conf.yaml 中的 HistoryServer 配置
# Directory to upload completed jobs to. Add this directory to the list of
# monitored directories of the HistoryServer as well (see below).
jobmanager.archive.fs.dir: hdfs:///completed-jobs/
# The address under which the web-based HistoryServer listens.
historyserver.web.address: 0.0.0.0
# The port under which the web-based HistoryServer listens.
historyserver.web.port: 8082
# Comma separated list of directories to monitor for completed jobs.
historyserver.archive.fs.dir: hdfs:///completed-jobs/
# Interval in milliseconds for refreshing the monitored directories.
historyserver.archive.fs.refresh-interval: 10000
【问题讨论】:
【参考方案1】:通过修改 flink-conf.yaml 中的 env.log.dir 和 env.log.max 配置来控制文件路径和文件个数。更多日志配置,可以修改conf文件夹下的Log4j属性文件
可以参考以下配置 https://ci.apache.org/projects/flink/flink-docs-release-1.13/docs/deployment/config/ https://ci.apache.org/projects/flink/flink-docs-release-1.13/docs/deployment/advanced/logging/
【讨论】:
以上是关于EMR 日志 uri 与 /usr/lib/flink/log的主要内容,如果未能解决你的问题,请参考以下文章
通过记录器的 Java Spark 应用程序日志未显示在 EMR 日志中