You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@mesos.apache.org by Damien Hardy <dh...@viadeoteam.com> on 2014/07/01 12:16:18 UTC

How can libmesos bind and declare specific network interface

Hello,

We would like to use spark on mesos but mesos cluster is accessible via VPN.
When running spark-shell we can see registrations attemps rununing with
defaut public interface of the desktop :

```
I0701 12:07:34.710917  2440 master.cpp:820] Framework
20140612-135938-16790026-5050-2407-0537
(scheduler(1)@192.168.2.92:42731) already registered, resending
acknowledgement
I0701 12:07:35.711632  2430 master.cpp:815] Received registration
request from scheduler(1)@192.168.2.92:42731
```

But we would like it register with the VPN interface.

This is working when changing my /etc/hosts file and setting hostname on
my VPN address:
```
I0701 12:03:54.193022  2441 master.cpp:815] Received registration
request from scheduler(1)@10.69.69.45:47440
I0701 12:03:54.193094  2441 master.cpp:833] Registering framework
20140612-135938-16790026-5050-2407-0536 at scheduler(1)@10.69.69.45:47440
```

I tried spark with
```
spark.driver.host	10.69.69.45
```
I can see spark binding to the rigth interfa ce but mesos keep
registring with default one. (and fail)

I hope envvar $MESOS_hostname would do the trick but without success...

Thank for help.

-- 
Damien HARDY
IT Infrastructure Architect
Viadeo - 30 rue de la Victoire - 75009 Paris - France
PGP : 45D7F89A


Re: How can libmesos bind and declare specific network interface

Posted by Damien Hardy <dh...@viadeoteam.com>.
Good one \o/

many thanks.

Le 01/07/2014 14:52, Tomas Barton a écrit :
> what about?
> 
> export LIBPROCESS_IP=10.69.69.45
> 
> or add rule to iptables for port range translation 30000:60000 to that
> interface
> 
> 
> On 1 July 2014 14:30, Damien Hardy <dhardy@viadeoteam.com
> <ma...@viadeoteam.com>> wrote:
> 
>     Hi,
>     I am not talking about mesos-master or mesos-slave but about the spark
>     driver (using libmesos as a framework).
>     As it declares itself diring mesos registration comming from default
>     interface of the desktop instead of the VPN one.
> 
>     So mesos-master tries to access to an interface it cannot reach.
> 
>     Spark using "spark.driver.host       10.69.69.45"
>     see netstat :
>     tcp        0      0 0.0.0.0:44424 <http://0.0.0.0:44424>          
>     0.0.0.0:*
>     LISTEN      1000       3076384     6779/java
>     tcp        0      0 10.69.69.45:39698 <http://10.69.69.45:39698>    
>       10.50.0.1:5050 <http://10.50.0.1:5050>
>     ESTABLISHED 1000       3068664     6779/java
>     tcp6       0      0 :::43430                :::*
>     LISTEN      1000       3077940     6779/java
>     tcp6       0      0 :::37926                :::*
>     LISTEN      1000       3077939     6779/java
>     tcp6       0      0 :::4040                 :::*
>     LISTEN      1000       3077942     6779/java
>     tcp6       0      0 :::51154                :::*
>     LISTEN      1000       3077938     6779/java
>     tcp6       0      0 10.69.69.45:34610 <http://10.69.69.45:34610>    
>       :::*
>     LISTEN      1000       3076383     6779/java
>     tcp6       0      0 :::43122                :::*
>     LISTEN      1000       3077884     6779/java
> 
>     We can see spark interface are well binded to 10.69.69.45 but problem
>     still exist for port 44424 that is supposed to be reached by
>     mesos-master during registration.
> 
>     I would like to make libmesos, used by framework, bind to the rigth
>     interface.
> 
>     Le 01/07/2014 13:34, Tomas Barton a écrit :
>     > Hi,
>     >
>     > have you tried setting '--ip 10.69.69.45' ?
>     >
>     > So, mesos-master is binded to a wrong interface? Or you have problem
>     > with mesos-slaves?
>     >
>     > Tomas
>     >
>     >
>     > On 1 July 2014 12:16, Damien Hardy <dhardy@viadeoteam.com
>     <ma...@viadeoteam.com>
>     > <mailto:dhardy@viadeoteam.com <ma...@viadeoteam.com>>> wrote:
>     >
>     >     Hello,
>     >
>     >     We would like to use spark on mesos but mesos cluster is
>     accessible
>     >     via VPN.
>     >     When running spark-shell we can see registrations attemps
>     rununing with
>     >     defaut public interface of the desktop :
>     >
>     >     ```
>     >     I0701 12:07:34.710917 2440 <tel:710917%202440>
>     <tel:710917%20%202440> master.cpp:820]
>     >     Framework
>     >     20140612-135938-16790026-5050-2407-0537
>     >     (scheduler(1)@192.168.2.92:42731 <http://192.168.2.92:42731>
>     <http://192.168.2.92:42731>)
>     >     already registered, resending
>     >     acknowledgement
>     >     I0701 12:07:35.711632  2430 master.cpp:815] Received registration
>     >     request from scheduler(1)@192.168.2.92:42731
>     <http://192.168.2.92:42731> <http://192.168.2.92:42731>
>     >     ```
>     >
>     >     But we would like it register with the VPN interface.
>     >
>     >     This is working when changing my /etc/hosts file and setting
>     hostname on
>     >     my VPN address:
>     >     ```
>     >     I0701 12:03:54.193022  2441 master.cpp:815] Received registration
>     >     request from scheduler(1)@10.69.69.45:47440
>     <http://10.69.69.45:47440> <http://10.69.69.45:47440>
>     >     I0701 12:03:54.193094  2441 master.cpp:833] Registering framework
>     >     20140612-135938-16790026-5050-2407-0536 at
>     >     scheduler(1)@10.69.69.45:47440 <http://10.69.69.45:47440>
>     <http://10.69.69.45:47440>
>     >     ```
>     >
>     >     I tried spark with
>     >     ```
>     >     spark.driver.host       10.69.69.45
>     >     ```
>     >     I can see spark binding to the rigth interfa ce but mesos keep
>     >     registring with default one. (and fail)
>     >
>     >     I hope envvar $MESOS_hostname would do the trick but without
>     success...
>     >
>     >     Thank for help.
>     >
>     >     --
>     >     Damien HARDY
>     >     IT Infrastructure Architect
>     >     Viadeo - 30 rue de la Victoire - 75009 Paris - France
>     >     PGP : 45D7F89A
>     >
>     >
> 
>     --
>     Damien HARDY
>     IT Infrastructure Architect
>     Viadeo - 30 rue de la Victoire - 75009 Paris - France
>     PGP : 45D7F89A
> 
> 

-- 
Damien HARDY
IT Infrastructure Architect
Viadeo - 30 rue de la Victoire - 75009 Paris - France
PGP : 45D7F89A


Re: How can libmesos bind and declare specific network interface

Posted by Tomas Barton <ba...@gmail.com>.
what about?

export LIBPROCESS_IP=10.69.69.45

or add rule to iptables for port range translation 30000:60000 to that
interface


On 1 July 2014 14:30, Damien Hardy <dh...@viadeoteam.com> wrote:

> Hi,
> I am not talking about mesos-master or mesos-slave but about the spark
> driver (using libmesos as a framework).
> As it declares itself diring mesos registration comming from default
> interface of the desktop instead of the VPN one.
>
> So mesos-master tries to access to an interface it cannot reach.
>
> Spark using "spark.driver.host       10.69.69.45"
> see netstat :
> tcp        0      0 0.0.0.0:44424           0.0.0.0:*
> LISTEN      1000       3076384     6779/java
> tcp        0      0 10.69.69.45:39698       10.50.0.1:5050
> ESTABLISHED 1000       3068664     6779/java
> tcp6       0      0 :::43430                :::*
> LISTEN      1000       3077940     6779/java
> tcp6       0      0 :::37926                :::*
> LISTEN      1000       3077939     6779/java
> tcp6       0      0 :::4040                 :::*
> LISTEN      1000       3077942     6779/java
> tcp6       0      0 :::51154                :::*
> LISTEN      1000       3077938     6779/java
> tcp6       0      0 10.69.69.45:34610       :::*
> LISTEN      1000       3076383     6779/java
> tcp6       0      0 :::43122                :::*
> LISTEN      1000       3077884     6779/java
>
> We can see spark interface are well binded to 10.69.69.45 but problem
> still exist for port 44424 that is supposed to be reached by
> mesos-master during registration.
>
> I would like to make libmesos, used by framework, bind to the rigth
> interface.
>
> Le 01/07/2014 13:34, Tomas Barton a écrit :
> > Hi,
> >
> > have you tried setting '--ip 10.69.69.45' ?
> >
> > So, mesos-master is binded to a wrong interface? Or you have problem
> > with mesos-slaves?
> >
> > Tomas
> >
> >
> > On 1 July 2014 12:16, Damien Hardy <dhardy@viadeoteam.com
> > <ma...@viadeoteam.com>> wrote:
> >
> >     Hello,
> >
> >     We would like to use spark on mesos but mesos cluster is accessible
> >     via VPN.
> >     When running spark-shell we can see registrations attemps rununing
> with
> >     defaut public interface of the desktop :
> >
> >     ```
> >     I0701 12:07:34.710917 2440 <tel:710917%20%202440> master.cpp:820]
> >     Framework
> >     20140612-135938-16790026-5050-2407-0537
> >     (scheduler(1)@192.168.2.92:42731 <http://192.168.2.92:42731>)
> >     already registered, resending
> >     acknowledgement
> >     I0701 12:07:35.711632  2430 master.cpp:815] Received registration
> >     request from scheduler(1)@192.168.2.92:42731 <
> http://192.168.2.92:42731>
> >     ```
> >
> >     But we would like it register with the VPN interface.
> >
> >     This is working when changing my /etc/hosts file and setting
> hostname on
> >     my VPN address:
> >     ```
> >     I0701 12:03:54.193022  2441 master.cpp:815] Received registration
> >     request from scheduler(1)@10.69.69.45:47440 <
> http://10.69.69.45:47440>
> >     I0701 12:03:54.193094  2441 master.cpp:833] Registering framework
> >     20140612-135938-16790026-5050-2407-0536 at
> >     scheduler(1)@10.69.69.45:47440 <http://10.69.69.45:47440>
> >     ```
> >
> >     I tried spark with
> >     ```
> >     spark.driver.host       10.69.69.45
> >     ```
> >     I can see spark binding to the rigth interfa ce but mesos keep
> >     registring with default one. (and fail)
> >
> >     I hope envvar $MESOS_hostname would do the trick but without
> success...
> >
> >     Thank for help.
> >
> >     --
> >     Damien HARDY
> >     IT Infrastructure Architect
> >     Viadeo - 30 rue de la Victoire - 75009 Paris - France
> >     PGP : 45D7F89A
> >
> >
>
> --
> Damien HARDY
> IT Infrastructure Architect
> Viadeo - 30 rue de la Victoire - 75009 Paris - France
> PGP : 45D7F89A
>
>

Re: How can libmesos bind and declare specific network interface

Posted by Damien Hardy <dh...@viadeoteam.com>.
Hi,
I am not talking about mesos-master or mesos-slave but about the spark
driver (using libmesos as a framework).
As it declares itself diring mesos registration comming from default
interface of the desktop instead of the VPN one.

So mesos-master tries to access to an interface it cannot reach.

Spark using "spark.driver.host       10.69.69.45"
see netstat :
tcp        0      0 0.0.0.0:44424           0.0.0.0:*
LISTEN      1000       3076384     6779/java
tcp        0      0 10.69.69.45:39698       10.50.0.1:5050
ESTABLISHED 1000       3068664     6779/java
tcp6       0      0 :::43430                :::*
LISTEN      1000       3077940     6779/java
tcp6       0      0 :::37926                :::*
LISTEN      1000       3077939     6779/java
tcp6       0      0 :::4040                 :::*
LISTEN      1000       3077942     6779/java
tcp6       0      0 :::51154                :::*
LISTEN      1000       3077938     6779/java
tcp6       0      0 10.69.69.45:34610       :::*
LISTEN      1000       3076383     6779/java
tcp6       0      0 :::43122                :::*
LISTEN      1000       3077884     6779/java

We can see spark interface are well binded to 10.69.69.45 but problem
still exist for port 44424 that is supposed to be reached by
mesos-master during registration.

I would like to make libmesos, used by framework, bind to the rigth
interface.

Le 01/07/2014 13:34, Tomas Barton a écrit :
> Hi, 
> 
> have you tried setting '--ip 10.69.69.45' ?
> 
> So, mesos-master is binded to a wrong interface? Or you have problem
> with mesos-slaves?
> 
> Tomas
> 
> 
> On 1 July 2014 12:16, Damien Hardy <dhardy@viadeoteam.com
> <ma...@viadeoteam.com>> wrote:
> 
>     Hello,
> 
>     We would like to use spark on mesos but mesos cluster is accessible
>     via VPN.
>     When running spark-shell we can see registrations attemps rununing with
>     defaut public interface of the desktop :
> 
>     ```
>     I0701 12:07:34.710917 2440 <tel:710917%20%202440> master.cpp:820]
>     Framework
>     20140612-135938-16790026-5050-2407-0537
>     (scheduler(1)@192.168.2.92:42731 <http://192.168.2.92:42731>)
>     already registered, resending
>     acknowledgement
>     I0701 12:07:35.711632  2430 master.cpp:815] Received registration
>     request from scheduler(1)@192.168.2.92:42731 <http://192.168.2.92:42731>
>     ```
> 
>     But we would like it register with the VPN interface.
> 
>     This is working when changing my /etc/hosts file and setting hostname on
>     my VPN address:
>     ```
>     I0701 12:03:54.193022  2441 master.cpp:815] Received registration
>     request from scheduler(1)@10.69.69.45:47440 <http://10.69.69.45:47440>
>     I0701 12:03:54.193094  2441 master.cpp:833] Registering framework
>     20140612-135938-16790026-5050-2407-0536 at
>     scheduler(1)@10.69.69.45:47440 <http://10.69.69.45:47440>
>     ```
> 
>     I tried spark with
>     ```
>     spark.driver.host       10.69.69.45
>     ```
>     I can see spark binding to the rigth interfa ce but mesos keep
>     registring with default one. (and fail)
> 
>     I hope envvar $MESOS_hostname would do the trick but without success...
> 
>     Thank for help.
> 
>     --
>     Damien HARDY
>     IT Infrastructure Architect
>     Viadeo - 30 rue de la Victoire - 75009 Paris - France
>     PGP : 45D7F89A
> 
> 

-- 
Damien HARDY
IT Infrastructure Architect
Viadeo - 30 rue de la Victoire - 75009 Paris - France
PGP : 45D7F89A


Re: How can libmesos bind and declare specific network interface

Posted by Tomas Barton <ba...@gmail.com>.
Hi,

have you tried setting '--ip 10.69.69.45' ?

So, mesos-master is binded to a wrong interface? Or you have problem with
mesos-slaves?

Tomas


On 1 July 2014 12:16, Damien Hardy <dh...@viadeoteam.com> wrote:

> Hello,
>
> We would like to use spark on mesos but mesos cluster is accessible via
> VPN.
> When running spark-shell we can see registrations attemps rununing with
> defaut public interface of the desktop :
>
> ```
> I0701 12:07:34.710917 2440 master.cpp:820] Framework
> 20140612-135938-16790026-5050-2407-0537
> (scheduler(1)@192.168.2.92:42731) already registered, resending
> acknowledgement
> I0701 12:07:35.711632  2430 master.cpp:815] Received registration
> request from scheduler(1)@192.168.2.92:42731
> ```
>
> But we would like it register with the VPN interface.
>
> This is working when changing my /etc/hosts file and setting hostname on
> my VPN address:
> ```
> I0701 12:03:54.193022  2441 master.cpp:815] Received registration
> request from scheduler(1)@10.69.69.45:47440
> I0701 12:03:54.193094  2441 master.cpp:833] Registering framework
> 20140612-135938-16790026-5050-2407-0536 at scheduler(1)@10.69.69.45:47440
> ```
>
> I tried spark with
> ```
> spark.driver.host       10.69.69.45
> ```
> I can see spark binding to the rigth interfa ce but mesos keep
> registring with default one. (and fail)
>
> I hope envvar $MESOS_hostname would do the trick but without success...
>
> Thank for help.
>
> --
> Damien HARDY
> IT Infrastructure Architect
> Viadeo - 30 rue de la Victoire - 75009 Paris - France
> PGP : 45D7F89A
>
>