Hi Povilas,
Another approach you could try is to use dynamic reservations only. You
could either:

   1. Alter your stateful framework to dynamically reserve the resources
   that it needs, or
   2. Add a script to your cluster tooling that would make use of the
   operator endpoint for dynamic reservations [1]
   <http://mesos.apache.org/documentation/latest/reservation/> to
   dynamically reserve the stateful framework's resources when your cluster is
   initially provisioned. This would have a similar effect to static
   reservations, but would allow you to set labels

Approach #1 makes sense to me; is there a reason that it's not feasible for
your stateful framework to dynamically reserve its own resources? This is
the typical workflow that I would recommend. I'm not too familiar with
Aurora, so perhaps it's adding some complexity that I'm unaware of?

Cheers,
Greg

[1] http://mesos.apache.org/documentation/latest/reservation/


On Tue, Jan 17, 2017 at 12:28 AM, Povilas Versockas <p.versoc...@gmail.com>
wrote:

> Hey,
>
> Thanks for writing me back!
>
> Maybe there is some other method to solve this problem on statically
> reserved cluster? The solution could be making agent's resources appear as
> unreserved resources to only selected framework. I can see that mesos-agent
> has --acls flag, so maybe tinkering with this could help me. Of course it
> is possible to implement this in the framework scheduler, but this will add
> way more clunkiness to the code. It feels like this kind of resource
> management should be part of Mesos. Maybe I'm missing something?
>
>
>
> On Mon, Jan 16, 2017 at 4:58 PM, haosdent <haosd...@gmail.com> wrote:
>
>> Hi, @Povilas It is possible to dynamic reserve unreserved resources on
>> those agents.
>>
>> On Fri, Jan 13, 2017 at 2:47 PM, Povilas Versockas <p.versoc...@gmail.com
>> > wrote:
>>
>>> Hi,
>>>
>>> Maybe someone can help me with a problem I'm having. Short version of
>>> the question is:
>>> Is it possible to use dynamic reservation on statically reserved Mesos
>>> agents?
>>>
>>> The current situation is that we have Mesos cluster which runs many
>>> frameworks (aurora, spark, cassandra) and we are developing a custom
>>> framework for stateful tasks. Our framework manages stateful tasks for many
>>> users. Currently we statically reserved our hardware which has good disks
>>> only to be used by our framework (via --resources flag on Mesos Agents).
>>>
>>> The problem we are facing is that if one stateful task fails we would
>>> like to relaunch it on the same host with the same port, cpu, disk and
>>> memory.
>>> With dynamic reservations we would put a label with task id on a
>>> reservation and on failure would just simply reuse the reserved offer.
>>> On the other hand with statically reserved Mesos agents we cannot put
>>> any labels and so we cannot distinguish offers which should have been
>>> reserved for a task and a new offer.
>>> This leaves us in the situation that if one stateful task fails and
>>> there are new stateful tasks, the new tasks can be scheduled on failed
>>> task's Mesos agent, filling it up and taking it's port, cpu and memory.
>>>
>>>
>>> --
>>> Regards
>>> Povilas Versockas
>>>
>>
>>
>>
>> --
>> Best Regards,
>> Haosdent Huang
>>
>
>
>
> --
> Pagarbiai
> Povilas Versockas
>

Reply via email to