linkedin / linkedin/dr-elephant

Dr-Elephant not fetching RUNNING spark application (only succeeded and failed applications are fetched)

Open
#696 4 comments 0 reactions 1 assignee View on GitHub

@ShubhamGupta29 is already working on this.

Since Sep 29, 2020.

question
Dominant language
Java
Stars
1.4k
Forks
839
PR merge metrics
No merged PRs in 30d

Description

Hi,

Dr-Elephant is only fetching completed applications (filtered by SUCCEEDED or FAILED status).
Our spark streaming applications are always RUNNING non-stop (except for weekly restarts).
We want to be able to analyze them and generate real time heuristics.

Why does dr-elephant exclude running application ?
Is there a way to include them when fetching jobs list?

More details:

  • We are using SparkFetcher.

  • Dr. Elephant gets list of only succeeded and failed applications from Yarn History Server API:

applicationscom.linkedin.drelephant.analysis.AnalyticJobGeneratorHadoop2 : The succeeded apps URL is https://{YARN_RM_HOST}/ws/v1/cluster/apps?finalStatus=SUCCEEDED&finishedTimeBegin=1598632623112&finishedTimeEnd=1598632683376
com.linkedin.drelephant.analysis.AnalyticJobGeneratorHadoop2 : The failed apps URL is https://{ YARN_RM_HOST}/ws/v1/cluster/apps?finalStatus=FAILED&state=FINISHED&finishedTimeBegin=1598632623112&finishedTimeEnd=1598632683376
  • And then data are fetched from the Spark History server API:
com.linkedin.drelephant.spark.fetchers.SparkRestClient : calling REST API at http://{SHS_HOST}/api/v1/applications/application_xxxxxxxxxx_xxxxxx
08-28-2020 18:56:09 INFO  [ForkJoinPool-1-worker-3] com.linkedin.drelephant.spark.fetchers.SparkRestClient : creating SparkApplication by calling REST API at http://{SHS_HOST}/api/v1/applications/application_xxxxxxxxxx_xxxxxx/1/logs to get eventlogs

Running spark application are available in both YARN HS and Spark HS. I can retrieve log events by accessing http://{SHS_HOST}/api/v1/applications/application_xxxxxxxxxx_xxxxxx/1/logs

Thank you

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.