ensuring a particular task is deployed to "all" Mesos Worker hosts

2017-06-30 Thread Erik Weathers
hi Mesos folks!

My team is largely responsible for maintaining the Storm-on-Mesos
framework.  It suffers from a problem related to log retrieval:  Storm has
a process called the "logviewer" that is assumed to exist on every host,
and the Storm UI provides links to contact this process to download logs
(and other debugging artifacts).   Our team manually runs this process on
each Mesos host, but it would be nice to launch it automatically onto any
Mesos host where Storm work gets allocated. [0]

I have read that Mesos has added support for Kubernetes-esque "pods" as of
version 1.1.0, but that feature *seems* somewhat insufficient for
implementing our desired behavior from my naive understanding.
Specifically, Storm only has support for connecting to 1 logviewer per
host, so unless pods can have separate containers inside each pod [1], and
also dynamically change the set of executors and tasks inside of the pod
[2], then I don't see how we'd be able to use them.

Is there any existing feature in Mesos that might help us accomplish our
goal?  Or any upcoming features?

Thanks!!

- Erik

[0] Thus the "all" in quotes in the subject of this email, because it
*might* be all hosts, but it definitely would be all hosts where Storm gets
work assigned.

[1] The Storm-on-Mesos framework leverages separate containers for each
topology's Supervisor and Worker processes, to provide isolation between
topologies.

[2] The assignment of Storm Supervisors (a Mesos Executor) + Storm Workers
(a Mesos Task) onto hosts is ever changing in a given instance of a
Storm-on-Mesos framework.  i.e., as topologies get launched and die, or
have their worker processes die, the processes are dynamically distributed
to the various Mesos Worker hosts.  So existing containers often have more
tasks assigned into them (thus growing their footprint) or removed from
them (thus shrinking the footprint).


Re: Mesos-Metrics per task

2017-06-30 Thread Tomek Janiszewski
What isolators are you using? To get CPU usage you need to enable
cgroups/cpu [1]

1:
https://gist.github.com/chetan/9c519c68549b55d71709cb8cc62206ae#cgroupscpu

pt., 30.06.2017, 09:59 użytkownik Thodoris Zois  napisał:

> From the resources that Mesos allocated for a specific task, i would like
> to get somehow how much the task truly used with percentage. Maybe it
> wasn’t clear before, that’s why i am mentioning it. At Mesos UI for some
> reason i don’t see enough info for tasks etc. They are all the time empty….
>
>
>
> > On 30 Jun 2017, at 02:38, James Peach  wrote:
> >
> >
> >> On Jun 29, 2017, at 3:53 PM, Thodoris Zois  wrote:
> >>
> >> Hello, i would like to get some metrics per task. E.g memory/cpu usage
> is there any way?
> >>
> >> Thank you!
> >
> > You can use the GET_CONTAINERS agent API call <
> http://mesos.apache.org/documentation/latest/operator-http-api/> to get
> resource usage for a container, then match up the container to a task by
> using other master and agent APIs to match the framework ID and executor ID.
> >
> > J
>
>


Re: Mesos-Metrics per task

2017-06-30 Thread Thodoris Zois
From the resources that Mesos allocated for a specific task, i would like to 
get somehow how much the task truly used with percentage. Maybe it wasn’t clear 
before, that’s why i am mentioning it. At Mesos UI for some reason i don’t see 
enough info for tasks etc. They are all the time empty….



> On 30 Jun 2017, at 02:38, James Peach  wrote:
> 
> 
>> On Jun 29, 2017, at 3:53 PM, Thodoris Zois  wrote:
>> 
>> Hello, i would like to get some metrics per task. E.g memory/cpu usage is 
>> there any way? 
>> 
>> Thank you! 
> 
> You can use the GET_CONTAINERS agent API call 
>  to get 
> resource usage for a container, then match up the container to a task by 
> using other master and agent APIs to match the framework ID and executor ID.
> 
> J