Exactly what I needed to know, one follow-up question though:
> An executor is terminated by Mesos if it has no running tasks
Does this mean there is some timeout? Or does the “parent” framework actively 
have to give a command to shutdown the executor? Because using Spark in 
fine-grained mode for example, I don’t see the executors getting shutdown, even 
though they might not have tasks for a while. (I am glad they don’t get killed 
without consent of Spark, because we would lose our in memory data).

On 30 Jun 2015, at 12:32, Alex Rukletsov <[email protected]> wrote:

> There are two types of tasks: (1) those that specify an executor and (2) 
> those, that specify a command. 
> 
> When a task of ttype (1) arrives to a slave, the slave checks whether an 
> executor with the same executorID already exists on this slave. If yes, the 
> task is redirected to the executor; if not, then an executor instance is 
> created. An executor is terminated by Mesos if it has no running tasks and 
> all status updated for terminated tasks have been delivered.
> 
> For tasks of type (2) a special executor (called MesosExecutor) is created 
> for each task. When such task terminates or is killed, the corresponding 
> executor shuts down as well.
> 
> On Tue, Jun 30, 2015 at 12:08 PM, Hans van den Bogert <[email protected]> 
> wrote:
> I have difficulty understanding Mesos’ model.
> 
> A framework can, for every accepted resource offer,  mention an executor 
> besides the tasks descriptions it submits to Mesos. However does every use of 
> offered resources, start a new executor? Thus for instance if the scenario 
> occurs that two resource offers are used (shortly after each other),  which 
> happen to be of the same slave, then are two executors started at one point? 
> Or is the second batch of tasks given to the first started executor?
> 
> I hope my question is clear, if not, let me know,
> 
> Hans van den Bogert
> 

Reply via email to