2016-08-28 61 views
1

我是YARN的新手。我运行了创建日志的oozie作业。如何删除纱线日志

我可以看到日志纱与

yarn logs -applicationId application_123456789_12345678 

我想知道我怎么可以删除这些日志?我可以删除文件以删除日志吗?

回答

1

有没有纱命令从CLI删除纱日志。

您可以通过将纱线日志目录yarn.nodemanager.log-dirs/application_${appid}使用Linux rm删除。单个容器日志目录将位于名为container_{$contid}的目录下。每个容器目录将包含由该容器生成的文件stderr,stdinsyslog

+0

谢谢。我正在寻找这个。我没有找到任何删除它的命令。非常感谢.. – Prashanth

6

作业完成后,NodeManager将为每个容器保留每个容器的日志,默认情况下为10800秒(3小时),并在过期后将其删除。但是如果启用$ {yarn.log-aggregation-enable},那么NodeManager会立即将所有容器日志连接成一个文件,并将它们上传到$ {yarn.nodemanager.remote-app-log-dir}/$中的HDFS中{user.name} /日志/并从本地userlogs目录

Documentation删除它们表示“yarn.nodemanager.delete.debug延迟秒”:

申请后的秒

号码前节点管理器的结束DeletionService将删除应用程序的本地化文件目录和日志目录。要诊断纱线应用程序问题,请将此属性的值设置得足够大(例如,以600 = 10分钟)以允许检查这些目录。更改属性值后,必须重新启动节点管理器才能生效。 Yarn应用程序工作目录的根目录可以使用yarn.nodemanager.local-dirs属性进行配置(参见下文),Yarn应用程序日志目录的根目录可以通过yarn.nodemanager.log-dirs属性进行配置(另请参阅下面)。

您必须配置纱-default.xml中:

<property> 
    <description> 
     Number of seconds after an application finishes before the nodemanager's DeletionService will delete the application's localized file directory and log directory. 
    </description> 
    <name>yarn.nodemanager.delete.debug-delay-sec</name> 
    <value>0</value> 
    </property> 

也许保留秒可能是有用的:

<property> 
<name>yarn.nodemanager.log.retain-seconds</name> 
<value>3600</value> 
</property> 
+0

谢谢。但我想手动删除这些日志。我如何明确删除它们? – Prashanth