I can help on this discussion; I used to be Mesos contributor for a year :).

Mesos allocate regular resources based on role by DRF; and role is also
used for reservation & quotas. So, the framework (like Myriad), may get two
kind of resources: "*" or "myriad-s role". When Myriad launch tasks, it can
not overuse any kind of resources: for example, if Myarid got offers:
cpu(*):1;cpu(myriad):1, Myriad can not launch tasks by cpu(*):2 which will
be rejected by Mesos master.

Thanks
Klaus


On Thu, Oct 20, 2016 at 12:10 PM Yuliya <yufeld...@yahoo.com.invalid> wrote:

> I really would like Mesosphere guys to comment here. I had a chat with
> Adam today morning and I did not get the same impression
>
> Thanks,
> Yuliya
>
> > On Oct 19, 2016, at 8:50 PM, Darin Johnson <dbjohnson1...@gmail.com>
> wrote:
> >
> > We use roles extensively to ensure different frameworks can (or can't)
> get
> > resources via mechanisms such as reserved resorces and quotas.  Also if
> you
> > don't pay attention you can miss a lot of the resources you're given.  I
> > wish it was we didn't have to do all the book keeping our selves, but I
> > suppose there are good reasons for delegating it to the framework, for
> > instance we can choose when to fave a reserved vs a default resource.
> >
> > On Wed, Oct 19, 2016 at 11:30 PM, yuliya Feldman <
> > yufeld...@yahoo.com.invalid> wrote:
> >
> >> I am not sure we should care about role being set or not, what if in the
> >> future we will have multiple rolesNot even sure if presence/absence of
> role
> >> should play role (no pun intended :) ).
> >>
> >>      From: Darin Johnson <dbjohnson1...@gmail.com>
> >> To: Dev <dev@myriad.incubator.apache.org>; yuliya Feldman <
> >> yufeld...@yahoo.com>
> >> Sent: Wednesday, October 19, 2016 7:17 PM
> >> Subject: Re: [DISCUSS] handling roles in Myriad code
> >>
> >> Ah so if I understand correctly, if frameworkRole='*' is present in the
> >> config, it's handled as thought it's the framework role.  I believe
> when I
> >> was testing I was using frameworkRole="test" or commenting out
> >> frameworkRole="test".  It looks as though in MyriadConfiguration,
> >> getFrameworkRole now returns "*" even if not set.
> >>
> >> Seems like we should be able to add a check like r.hasRole() &&
> >> r.getRole().equals(role)
> >> && !role.equals("*") in a few places. Though it may be better
> >> to pass think about a better approach here.
> >>
> >> Darin
> >>
> >> On Wed, Oct 19, 2016 at 9:28 PM, yuliya Feldman
> >> <yufeld...@yahoo.com.invalid
> >>> wrote:
> >>
> >>> Hello Darrin,
> >>> I kind of see the point regarding JHS ports. May be there is truth to
> it.
> >>> Regarding my issues with role/no role.
> >>> I had this issue for NMs with random ports (not hardcoded), as it has
> >>> different code path when role is present and when it is not. My
> >> impression
> >>> those are bugs.
> >>> I am happy to point you to the places in the code that caused issues on
> >>> master (at least for me).[1] does not increment numDefaultValues if
> role
> >> is
> >>> set (which is always set), subsequently [2] has issues[3] same thing -
> >>> fills out list only if there is no role, but again it is always there,
> >> just
> >>> set to "*"
> >>>
> >>>
> >>> Regarding:>>> To handle nodemanager persistence I think we should work
> >>> with Klaus's PR's to get thecorrect ports, though we'll need to use
> some
> >>> disk persistence as well to
> >>> keep the NM state.
> >>> Disk persistence won't help here (not even sure NM has much state to
> >>> persist - even if it does it should be taken care by YARN), as
> containers
> >>> have to reconnect to NM after it restarts, so they have to know RPC
> port.
> >>> Thanks,Yuliya
> >>> [1] https://github.com/apache/incubator-myriad/blob/master/
> >>> myriad-scheduler/src/main/java/org/apache/myriad/scheduler/resource/
> >>> RangeResource.java#L85
> >>> [2] https://github.com/apache/incubator-myriad/blob/master/
> >>> myriad-scheduler/src/main/java/org/apache/myriad/scheduler/resource/
> >>> RangeResource.java#L128
> >>>
> >>> [3] https://github.com/apache/incubator-myriad/blob/master/
> >>> myriad-scheduler/src/main/java/org/apache/myriad/scheduler/resource/
> >>> RangeResource.java#L140
> >>>
> >>>
> >>>     From: Darin Johnson <dbjohnson1...@gmail.com>
> >>> To: Dev <dev@myriad.incubator.apache.org>; yuliya Feldman <
> >>> yufeld...@yahoo.com>
> >>> Sent: Wednesday, October 19, 2016 6:04 PM
> >>> Subject: Re: [DISCUSS] handling roles in Myriad code
> >>>
> >>> Yuyiya,
> >>>
> >>> Yes on master a lot of refactoring was done, in particular you specify
> >>> ports other than 0 in the myriad-default.yaml, it will only return
> those
> >>> ports (not random ones).  This was done in part because the we were
> >>> attempting the use the JHS on a port like 32001, but it the port was
> >>> already in use by another app and hence the port wasn't offered myriad
> >> was
> >>> still launching the JHS only to have it crash.
> >>>
> >>> If you want to use static ports you can just not put anything in the
> >>> myriad-default.yaml and configure the yarn-site.xml and mapred-site.xml
> >> as
> >>> usual (they should be outside the range mesos offers).  To handle
> >>> nodemanager persistence I think we should work with Klaus's PR's to get
> >> the
> >>> correct ports, though we'll need to use some disk persistance as well
> to
> >>> keep the NM state.
> >>>
> >>> As for a bug in NM's getting zero ports could you send a copy of your
> >>> configuration and I'll try to recreate the problem?
> >>>
> >>> On Wed, Oct 19, 2016 at 3:29 PM, yuliya Feldman
> >>> <yufeld...@yahoo.com.invalid
> >>>> wrote:
> >>>
> >>>> Hello there,
> >>>> I wanted to discuss current handling of roles in Myriad code.
> >>> Specifically
> >>>> on "master" branch. Most likely due to heavy refactoring.
> >>>> As far as I can see we try to handle presence or absence of a role on
> a
> >>>> resource(s) based on the fact that framework may or may not have a
> >>> role.On
> >>>> the other hand we always set framework role to "*" - which means it
> >> will
> >>>> always have a role, just that role will be "default".
> >>>> So far I encountered couple of bugs related to roles in RangeResource
> >>>> related to ports and inability to spin up NodeManagers, as no ports
> >> were
> >>>> assigned because of the fact how we handle roles.
> >>>> I would like @Adam and other Mesosphere folks to comment on how should
> >> we
> >>>> handle relationship between frameworkRole and resource role(s)
> >>>> Thanks,Yuliya
> >>
> >>
> >>
> >>
>
-- 

Regards,
----
Da (Klaus), Ma (马达), PMP® | Software Architect
IBM Platform Development & Support, STG, IBM GCG
+86-10-8245 4084 | mad...@cn.ibm.com | http://k82.me

Reply via email to