#!/bin/bash cd /root/mesos-ec2 MASTERS=`cat masters` ACTIVE_MASTER=`cat masters | head -1` SLAVES=`cat slaves` ZOOS=`cat zoo` if [[ $ZOOS = *NONE* ]]; then NUM_ZOOS=0 else NUM_ZOOS=`cat zoo | wc -l` fi SSH_OPTS="-o StrictHostKeyChecking=no -o ConnectTimeout=5" cluster_url=`cat cluster-url` echo "Running with cluster URL: "$cluster_url if [[ $NUM_ZOOS != 0 ]]; then masterid=1 for master in $MASTERS; do echo "Starting master $masterid on $master" ssh $SSH_OPTS $master "/root/mesos-ec2/mesos-daemon mesos-master -p 5050 -u $cluster_url $@ /dev/null" & sleep 0.3 masterid=$(($masterid+1)) done wait else echo "Starting master on $ACTIVE_MASTER" ssh $SSH_OPTS $ACTIVE_MASTER "/root/mesos-ec2/mesos-daemon mesos-master --failover_timeout=1 -p 5050 $@ /dev/null" fi sleep 5 for slave in $SLAVES; do echo "Starting slave on $slave" ssh $SSH_OPTS $slave "/root/mesos-ec2/mesos-daemon mesos-slave -m ${cluster_url} /dev/null" & sleep 0.3 done wait if [[ $NUM_ZOOS != 0 ]]; then echo "ZooKeeper is running at" for zoo in $ZOOS; do echo " $zoo:2181" done fi echo "Everything's started! You can view the master Web UI at" for master in $MASTERS; do echo " http://$master:8080" done