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 日志中

AWS EMR 性能 HDFS 与 S3

Amazon emr:最佳压缩/文件格式

Amazon EMR 服务与 EMR 集群

气流 DAG EMR EmrCreateJobFlowOperator 不执行任何操作

AWS EMR 与 Glue 目录,明确指定 catalogId