覆盖 hadoop 用户日志 |特定队列

override hadoop user logs | queue specific

我有一个 hadoop 作业 运行 在 300 个节点的集群中,对于我的作业,我有一个特定的队列,作业将在其中执行。

工作 运行 在生产过程中很好,但它在 userlogs 文件夹下为特定应用程序 id 生成了太多日志,我已经执行了 hadoop 合并命令并获得了大小为 290 GB 的文件。

我可以在 syslog 中看到 hadoop 记录太多。

我对此有一些疑问,如果有人能指导我,那将对我有很大帮助 -

1)- syslog 中的日志基于输入数据

2)- 基于 hive 查询在 syslog 中登录(正如我所看到的所有条目都与 Hadoop 处理相关,我认为 hive 查询对过度创建日志没有任何影响)

3)- 是否有任何方法可以减少 syslog 中任何特定作业的信息 运行 在具有干扰集群配置(对于其他作业)的巨大集群中

  1. hadoop 中的日志显示从 YARN、Mapping、Reducing 到写入的最终结果的容器分配的数据。

  2. Logging during Hive execution on a Hadoop cluster is controlled by Hadoop configuration. Usually Hadoop will produce one log file per map and reduce task stored on the cluster machine(s) where the task was executed. The log files can be obtained by clicking through to the Task Details page from the Hadoop JobTracker Web UI.

    参考:Hive Logging

  3. 配置Hadoop日志,参考:How To Configure-Log4j_Configuration