对于具有大量YARN聚合日志的集群,将它们组合到hadoop归档中以减少小文件的数量,从而减轻NameNode的负担可能会有所帮助。该工具提供了一种简便的方法。作业历史记录服务器和yarn logs命令仍可以读取hadoop归档中的聚合日志。
有关hadoop归档的更多信息,请参阅《Hadoop归档指南》。
用法:映射的归档日志 -force强制重新创建工作目录,如果 找到一个现有的。这应该 仅当您知道另一个 实例当前未运行 -help打印此消息 -maxEligibleApps <n>符合条件的最大应用数量 处理(默认值:-1(全部)) -maxTotalLogsSize <兆字节>最大总日志大小(以 兆字节)才有资格 (默认值:1024) -memory <megabytes>的内存量(以兆字节为单位) 每个容器(默认值:1024) -minNumberLogFiles <n>所需的最小日志文件数 符合资格(默认值:20) -noProxy指定后,将进行所有处理 在用户运行此命令时完成(或 YARN用户,如果DefaultContainerExecutor 正在使用)。如果未指定,则全部 处理将作为用户谁 拥有该应用程序;如果用户 不允许运行此命令 冒充该用户,它将失败 -verbose打印更多详细信息。
该工具仅支持一次在集群上运行一个实例,以防止发生冲突。它通过检查HDFS(默认值:/ tmp / logs / archive-logs-work)中yarn.nodemanager.remote-app-log-dir下是否存在名为archive-logs-work 的目录来实现。如果由于某种原因该目录未正确清理,并且该工具拒绝运行,则可以使用-force选项对其进行强制。
该-help选项打印出的使用信息。
该工具通过执行以下过程来工作:
该-noProxy选项使工具过程中的一切,谁是目前运行它的用户,或者纱线用户如果DefaultContainerExecutor正在使用中。如果未指定,则所有处理将由拥有该应用程序的用户完成;如果不允许运行此命令的用户模拟该用户,它将失败。如果您希望管理员用户在不启用模拟的情况下处理所有聚合,这将很有用。使用-noProxy,最终的HAR文件将由运行该工具的任何人拥有,而不是最初拥有日志的人拥有。
该-verbose选项使工具打印有关它做什么的更多细节。
运行该工具的最终结果是,已处理应用程序的原始聚合日志文件将被包含所有这些日志的hadoop存档替换。