You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@mesos.apache.org by Renat Bekbolatov <re...@gmail.com> on 2014/07/27 20:47:32 UTC

using schedulers from outside the private network running a Mesos cluster

Hi guys!

Mesos scheduler driver picks up machine’s ip address and publishes it to master to communicate back. If I happened to run a scheduler locally and connect to my cluster on a private network which has only master exposed, what is a good workaround to allow information flow from master to scheduler?

There is no address setting possible through schedulerDriver API, but even if I could set the address, it seems like the ports (there are 2 ports used) are not fixed either.

Also, I understand that the slave webui components will not work, when those machines are not exposed, but access to slaves doesn’t block us from sending tasks to Mesos cluster since the task communication with slaves goes through the master node.

I am considering maybe just running that schedulers within the cluster and expose their services instead, maybe that is a better approach, but please let me know what you think about both setups.

Renat

Re: using schedulers from outside the private network running a Mesos cluster

Posted by Benjamin Mahler <be...@gmail.com>.
You can specify the IP and port for the scheduler driver by setting the
following in your environment:

LIBPROCESS_IP
LIBPROCESS_PORT

You will probably want your schedulers running within the same private
network as the master for production purposes.


On Sun, Jul 27, 2014 at 11:47 AM, Renat Bekbolatov <re...@gmail.com>
wrote:

> Hi guys!
>
> Mesos scheduler driver picks up machine’s ip address and publishes it to
> master to communicate back. If I happened to run a scheduler locally and
> connect to my cluster on a private network which has only master exposed,
> what is a good workaround to allow information flow from master to
> scheduler?
>
> There is no address setting possible through schedulerDriver API, but even
> if I could set the address, it seems like the ports (there are 2 ports
> used) are not fixed either.
>
> Also, I understand that the slave webui components will not work, when
> those machines are not exposed, but access to slaves doesn’t block us from
> sending tasks to Mesos cluster since the task communication with slaves
> goes through the master node.
>
> I am considering maybe just running that schedulers within the cluster and
> expose their services instead, maybe that is a better approach, but please
> let me know what you think about both setups.
>
> Renat

Re: using schedulers from outside the private network running a Mesos cluster

Posted by Niklas Nielsen <ni...@mesosphere.io>.
Hi Renat,

This is indeed a limitation we are aware of (and which we want to address)
You are right about 'communicating back'. The 'libprocess-from' header is
set to the scheduler PID (process name + ip) when sending messages from the
framework to the master in order for the master to respond (libprocess is
one-way HTTP POST).
I think the best solution at the moment is to locate the scheduler
processes inside the cluster. We can look into the details on the
libprocess IP lookup, if you want to be able to bind to a public accessible
IP.

A part of the new scheduler API discussions have touched based on this I
believe (please jump in if you have specifics to add). One approach which
would address this could be to add a notion of an HTTP event-stream which
the master can use to communicate back to the scheduler. I am not sure
whether we captured this already, but this may be a good time to start a
conversation around it.

Cheers,
Niklas



On 27 July 2014 11:47, Renat Bekbolatov <re...@gmail.com> wrote:

> Hi guys!
>
> Mesos scheduler driver picks up machine’s ip address and publishes it to
> master to communicate back. If I happened to run a scheduler locally and
> connect to my cluster on a private network which has only master exposed,
> what is a good workaround to allow information flow from master to
> scheduler?
>
> There is no address setting possible through schedulerDriver API, but even
> if I could set the address, it seems like the ports (there are 2 ports
> used) are not fixed either.
>
> Also, I understand that the slave webui components will not work, when
> those machines are not exposed, but access to slaves doesn’t block us from
> sending tasks to Mesos cluster since the task communication with slaves
> goes through the master node.
>
> I am considering maybe just running that schedulers within the cluster and
> expose their services instead, maybe that is a better approach, but please
> let me know what you think about both setups.
>
> Renat