Hello Devs,
 I have a Mesos setup where master and slave both are running on the same
network of my university campus. Mesos agent node is situated under a
firewall and only port: 5000 to port:6000 are open for incoming traffic
whereas Mesos master has no such restrictions. I am running master service
on master:5050 and agent is running on agent:5051 as default.

I can see agent is communicating correctly to master and offering the
available resources. I have mentioned the available ports for agents are
are ports:[5001-6000] in *src/slave/constants.cpp* file so that framework
can communicate only through those ports which are open for my agent system
behind the firewall.

Now when I am launching jobs through Mesosphere marathon framework, I can
see all jobs are connected to mesos-agent through those mentioned port
ranges[5001-6000]. But my jobs are not getting submitted. So I started
debugging and realised that when launching jobs mesos slaves create and
launch an executor (*/erc/executor/executor.cpp*) which communicates to the
mesos master through a random port. Which is outside my available range of
5000-6000 open ports. Now as through those ports my agent machine can not
take any requests so executor is getting timed out and restarting the
executor again and again after every 1 min of time limit..

I could not find out where exactly that random port is assigned. Is there
any socket connection that we can change to get executor connection happen
on desired range of ports? Please let me know if my understanding is
correct and how can I change those ports for executor registration.

Thanks
Pankaj

Reply via email to