alexfvolk
alexfvolk

Reputation: 1830

Unable to get Mesos to run from tutorial: Setting up a Single Node Mesosphere Cluster

I have been following this tutorial to try and setup a single node mesosphere cluster from their official tutorial:

http://mesosphere.com/docs/getting-started/developer/single-node-install/

I followed all the commands without any issues, and I also added the ports 5050 and 8080 to my security group. When I try to access the console for mesos/marathon, I get a "Internet Explorer cannot display the webpage" message.

They also recommend checking it the following way:

MASTER=$(mesos-resolve `cat /etc/mesos/zk`)
mesos-execute --master=$MASTER --name="cluster-test" --command="sleep 5"

But that comes up with an error:

WARNING: Logging before InitGoogleLogging() is written to STDERR
F0106 17:03:08.126703 20993 process.cpp:1561] Failed to initialize, gethostbyname2: Unknown host
*** Check failure stack trace: ***

I am not really sure how to troubleshoot this either, and there are not many tutorials I could find on how to install mesos on ubuntu.

I checked the contents of the zk file, seems to be the default value.

$ cat /etc/mesos/zk zk://localhost:2181/mesos

I would really appreciate any clues on how to go about this one.

Edit: The process is definitely running too - just an fyi:

root     31545  8.5  5.9 187464 35604 ?        Ssl  17:28   0:00 /usr/local/sbin/mesos-slave --master=zk://localhost:2181/mesos --log_dir=/var/log/mesos
root     31563 28.5  2.1 116304 12856 ?        Rs   17:28   0:00 /usr/local/sbin/mesos-master --zk=zk://localhost:2181/mesos --port=5050 --log_dir=/var/log/mesos --quorum=1 --wo

Upvotes: 2

Views: 2626

Answers (2)

Adam
Adam

Reputation: 4322

Mesos uses gethostbyname2 to resolve hostnames to IPs. The first thing I would recommend, is to try "ping localhost" and "ping hostname", and verify that there are no strange settings in /etc/hosts. If you're doing a multi-node cluster, I'd recommend that hostname map to the public IP address (not 127.0.x.1).

If that doesn't help, you can try setting the --ip and --hostname flags when starting mesos-master and mesos-slave, to bypass the gethostbyname2 resolution. These can also be set by writing to the file-based parameters, e.g. /etc/mesos/mesos-master/ip

For additional troubleshooting, try running wget http://localhost:5050 (or curl -L) from the mesos master, to verify that it is locally visible. Also try wget http://<public_ip>:5050 to verify that the web server is up and serving to the public IP. Depending on how your (EC2?) node is setup, you may need to expose/forward the port, or connect to a VPN.

Upvotes: 4

alexfvolk
alexfvolk

Reputation: 1830

Thanks Adam. I ran the wget and curl commands, and nothing was actually listening on port 8080 or 5050. I did open those ports in the ec2. A simple reboot did the trick however, once I ssh'ed into the ec2 instance after the reboot, both mesos and marathon were running and both ports are now showing after I ran

netstat -ntln.

Upvotes: 0

Related Questions