
# 获取运行中Spark应用的Container日志
运行中Spark应用的Container日志分散在多个节点中，本章节用于说明如何快速获取Container日志。
#### 场景说明
可以通过yarn logs命令获取运行在Yarn上的应用的日志，针对不同的场景，可以使用以下命令获取需要的日志：
1. 获取application的完整日志：**yarn logs --applicationId** *\<appId\>* **-out** *\<outputDir\>*
   例如：**yarn logs --applicationId application_1574856994802_0016 -out /opt/test**
   执行结果：
   1. 若该application处于运行状态，则无法获取dead状态的container日志
   
   2. 若该application处于结束状态，则可以获取全部归档的container日志
    
2. 获取指定Container日志：**yarn logs -applicationId** *\<appId\>* **-containerId** *\<containerId\>*
   例如：**yarn logs -applicationId application_1574856994802_0018 -containerId container_e01_1574856994802_0018_01_000003**
   执行结果：
   1. 若该application处于运行状态，则无法获取dead状态的Container日志
   
   2. 若该application处于结束状态，则可获取任意Container的日志
    
3. 获取任意状态的Container日志：**yarn logs -applicationId** *\<appId\>* **-containerId** *\<containerId\>* **-nodeAddress** *\<nodeAddress\>*
   例如：**yarn logs -applicationId application_1574856994802_0019 -containerId container_e01_1574856994802_0019_01_000003 -nodeAddress 192-168-1-1:**8041
   执行结果：可获取任意Container的日志
   ![](https://support.huaweicloud.com/cmpntguide-mrs/public_sys-resources/note_3.0-zh-cn.png)
   此命令的参数中需要填入nodeAddress，可通过以下命令获取：
   **yarn node -list -all**
   
 
