hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eric Payne (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (YARN-415) Capture memory utilization at the app-level for chargeback
Date Thu, 22 May 2014 16:07:03 GMT

    [ https://issues.apache.org/jira/browse/YARN-415?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14006066#comment-14006066

Eric Payne commented on YARN-415:

The Generic Application History server stores all of the information about containers that
are needed to calculate memory seconds and vcore seconds. Right now, since the Generic Application
Server is tied closely with the Timeline Server, this does not work on a secured cluster.
Also, the information is only available via REST API right now, and there would need to be
some scripting and parsing of the REST APIs to rolled up metrics for each app. So, I think
this JIRA still would be very helpful and useful.

FYI, On an unsecured cluster with the Generic Application History Server and the Timeline
Server configured and running, the following REST APIs will give enough information about
an app to calculate memory seconds and vcore seconds:

{panel:title=Get list of app attempts for a specified appID|titleBGColor=#F7D6C1}
curl --compressed -H "Accept: application/json" -X GET "http://<hostname>:<port>/ws/v1/applicationhistory/apps/<appID>/appattempts"
{panel:title=For each app attempt, get all container info|titleBGColor=#F7D6C1}
curl --compressed -H "Accept: application/json" -X GET "http://<hostname:<port>/ws/v1/applicationhistory/apps/<appID>/appattempts/<appAttemptID>/containers"


> Capture memory utilization at the app-level for chargeback
> ----------------------------------------------------------
>                 Key: YARN-415
>                 URL: https://issues.apache.org/jira/browse/YARN-415
>             Project: Hadoop YARN
>          Issue Type: New Feature
>          Components: resourcemanager
>    Affects Versions: 0.23.6
>            Reporter: Kendall Thrapp
>            Assignee: Andrey Klochkov
>         Attachments: YARN-415--n10.patch, YARN-415--n2.patch, YARN-415--n3.patch, YARN-415--n4.patch,
YARN-415--n5.patch, YARN-415--n6.patch, YARN-415--n7.patch, YARN-415--n8.patch, YARN-415--n9.patch,
> For the purpose of chargeback, I'd like to be able to compute the cost of an
> application in terms of cluster resource usage.  To start out, I'd like to get the memory
utilization of an application.  The unit should be MB-seconds or something similar and, from
a chargeback perspective, the memory amount should be the memory reserved for the application,
as even if the app didn't use all that memory, no one else was able to use it.
> (reserved ram for container 1 * lifetime of container 1) + (reserved ram for
> container 2 * lifetime of container 2) + ... + (reserved ram for container n * lifetime
of container n)
> It'd be nice to have this at the app level instead of the job level because:
> 1. We'd still be able to get memory usage for jobs that crashed (and wouldn't appear
on the job history server).
> 2. We'd be able to get memory usage for future non-MR jobs (e.g. Storm).
> This new metric should be available both through the RM UI and RM Web Services REST API.

This message was sent by Atlassian JIRA

View raw message