Question: Will yarn store informations about finished app including runtime on hdfs? I just want to get the app runtime through some files on the hdfs(if there did exist such file, I have checked the logs and there is no runtime informations) without using any monitoring software.

Answer: 
You can use the [ResourceManager REST](https://hadoop.apache.org/docs/r2.7.2/hadoop-yarn/hadoop-yarn-site/ResourceManagerRest.html) to fetch the information of all the Finished applications. 

```
http://resource_manager_host:port/ws/v1/cluster/apps?state=FINISHED

```

A `GET` request to the URL will return a JSON response (XML can also be obtained). The response has to be parsed for `elapsedTime` for each application to get the running time of the application.
To look up persistent job history file, you will need to check Job History Server or Timeline Server instead of Resource Manager:

1. Job history is aggregated onto HDFS, and can be seen from job history server UI (or REST API). The history files are stored on `mapreduce.jobhistory.done-dir` on HDFS.
2. Job history can also be aggregated by timeline server (filesystem based, aka ATS 1.5) and can be seen from timeline server UI (or REST API). The history files are stored on `yarn.timeline-service.entity-group-fs-store.done-dir` on HDFS.