为什么我的纱线应用程序即使启用了日志记录也没有日志?

Sot*_*her 8 logging hadoop hadoop-yarn apache-spark

我已经在xml文件中启用了日志: yarn-site.xml然后我重新启动yarn:

sudo service hadoop-yarn-resourcemanager restart
sudo service hadoop-yarn-nodemanager restart
Run Code Online (Sandbox Code Playgroud)

我跑我的应用程序,然后我看到了applicationIDyarn application -list.所以,我这样做: yarn logs -applicationId <application ID>,我得到以下内容:

hdfs://<ip address>/var/log/hadoop-yarn/path/to/application/  does not have any log files
Run Code Online (Sandbox Code Playgroud)

我是否需要更改其他配置?或者我以错误的方式访问日志?

谢谢.

fra*_*ijo 9

yarn application -list
Run Code Online (Sandbox Code Playgroud)

将仅列出处于SUBMITTED,ACCEPTEDRUNNING状态的应用程序.

日志聚合收集每个容器的日志,并将这些日志移动到yarn.nodemanager.remote-app-log-dir仅在应用程序完成后配置的目录中.请参阅此处yarn.log-aggregation-enable属性说明.

因此,applicationId命令列出的内容尚未完成,并且尚未收集日志.因此,尝试访问正在运行的应用程序的日志时的响应

hdfs://<ip address>/var/log/hadoop-yarn/path/to/application/  does not have any log files
Run Code Online (Sandbox Code Playgroud)

yarn logs -applicationId <application ID>应用程序完成后,您可以尝试使用相同的命令查看日志.

要列出所有FINISHED应用程序,请使用

yarn application -list -appStates FINISHED
Run Code Online (Sandbox Code Playgroud)

或者列出所有应用程序

yarn application -list -appStates ALL
Run Code Online (Sandbox Code Playgroud)