如何删除纱线日志
How to delete yarn logs
我对 YARN 还很陌生。我 运行 创建日志的 oozie 作业。
我可以看到纱线日志
yarn logs -applicationId application_123456789_12345678
我想知道如何删除那些日志?我可以只删除文件以删除日志吗?
作业完成后,NodeManager 将为每个容器保留日志 ${yarn.nodemanager.log.retain-seconds}
,默认情况下为 10800 秒(3 小时),并在它们过期后删除它们。但是,如果 ${yarn.log-aggregation-enable}
启用,则 NodeManager 将立即将所有容器日志连接到一个文件中,并将它们上传到 ${yarn.nodemanager.remote-app-log-dir}/${user.name}/logs/<application ID>
中的 HDFS,并从本地用户日志目录中删除它们
Documentation表示yarn.nodemanager.delete.debug-delay-sec
:
应用程序完成后,节点管理器的 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>
也许保留秒数会有用:
<property>
<name>yarn.nodemanager.log.retain-seconds</name>
<value>3600</value>
</property>
没有从 CLI 中删除 yarn 日志的 yarn 命令。
您可以使用Linux rm
到yarn 日志目录yarn.nodemanager.log-dirs
/application_${appid}
进行删除。单独的容器日志目录将在此下方,在名为 container_{$contid}
的目录中。每个容器目录将包含该容器生成的文件 stderr
、stdin
和 syslog
。
delete ${yarn.nodemanager.remote-app-log-dir}/${user}/${application_id}/...
我对 YARN 还很陌生。我 运行 创建日志的 oozie 作业。
我可以看到纱线日志
yarn logs -applicationId application_123456789_12345678
我想知道如何删除那些日志?我可以只删除文件以删除日志吗?
作业完成后,NodeManager 将为每个容器保留日志 ${yarn.nodemanager.log.retain-seconds}
,默认情况下为 10800 秒(3 小时),并在它们过期后删除它们。但是,如果 ${yarn.log-aggregation-enable}
启用,则 NodeManager 将立即将所有容器日志连接到一个文件中,并将它们上传到 ${yarn.nodemanager.remote-app-log-dir}/${user.name}/logs/<application ID>
中的 HDFS,并从本地用户日志目录中删除它们
Documentation表示yarn.nodemanager.delete.debug-delay-sec
:
应用程序完成后,节点管理器的 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>
也许保留秒数会有用:
<property>
<name>yarn.nodemanager.log.retain-seconds</name>
<value>3600</value>
</property>
没有从 CLI 中删除 yarn 日志的 yarn 命令。
您可以使用Linux rm
到yarn 日志目录yarn.nodemanager.log-dirs
/application_${appid}
进行删除。单独的容器日志目录将在此下方,在名为 container_{$contid}
的目录中。每个容器目录将包含该容器生成的文件 stderr
、stdin
和 syslog
。
delete ${yarn.nodemanager.remote-app-log-dir}/${user}/${application_id}/...