如何删除纱线日志

Pra*_*nth 1 hadoop hadoop-yarn

我对YARN很新.我运行了创建日志的oozie作业.

我可以看到纱线原木

yarn logs -applicationId application_123456789_12345678
Run Code Online (Sandbox Code Playgroud)

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

MrE*_*ant 8

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

文档指示'yarn.nodemanager.delete.debug-delay-sec':

应用程序在nodemanager的DeletionService删除应用程序的本地化文件目录和日志目录之前完成的秒数.要诊断Yarn应用程序问题,请将此属性的值设置得足够大(例如,设置为600 = 10分钟)以允许检查这些目录.更改属性的值后,必须重新启动nodemanager才能使其生效.Yarn应用程序的工作目录的根可以使用yarn.nodemanager.local-dirs属性进行配置(见下文),并且Yarn应用程序的日志目录的根可以使用yarn.nodemanager.log-dirs属性进行配置(另请参见下面).

您必须配置yarn-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>
Run Code Online (Sandbox Code Playgroud)

也许保留秒可能很有用:

<property>
<name>yarn.nodemanager.log.retain-seconds</name>
<value>3600</value>
</property>
Run Code Online (Sandbox Code Playgroud)