A project to setup Mesos/Marathon Cluster along with Hydra in automated way
This project helps you setting up mesos-marathon cluster along with [Hydra] (https://github.com/lake-lerna/hydra) on cloud (GCE, AWS, Azure). For now, only
GCE is supported.
To setup a cluster with Hydra, use following commands
-
Do Gcloud configurations
-> curl https://sdk.cloud.google.com | bash
-> exec -l $SHELL
-> gcloud auth login
-> gcloud config set project <gcloud project name>
-> gcloud config set compute/zone <zone-name e.g us-central1-f>
-> gcloud config set compute/region <region-name e.g us-central1>
-> gcloud config set component_manager/fixed_sdk_version 0.9.81
-> gcloud components -q update -
Clone and Install hydra-deploy
-> sudo pip install pybuilder # (needed for pyb)
-> git clone https://github.com/lake-lerna/HydroSphere
-> pushd HydroSphere
-> pyb install_dependencies
-> popd -
Setup Mesos-Marathon Cluster and setup Hydra on master node
First of all, modify the setup configuration file. A sample file is given in hydra_deploy with name setup_config.ini .
-> pushd HydroSphere/src/main/python/hydro_sphere
-> python hydro_sphere.py --config_file setup_config.ini --deployment_id <unique id for deployment>
--ssh_key_file <path to your publick key>
You can access mesos on masterip:5050 and marathon on masterip:8080
- Login to master node to run test cases
List current instances
-> gcloud compute instances list | grep <user-name>
Please note down the IP of your master node. It would be with name <emailid-deploymentid-*>
-> ssh <master-ip>
-> cd hydra-master
-> source ../venv/bin/activate
-> hydra zmq
TO setup only mesos cluster without hydra, you can give following command
-> pushd HydroSphere/src/main/python/hydro_sphere
-> python mesos_marathon_setup.py --config_file setup_config.ini --deployment_id --ssh_key_file <path to your public key>
If you want to setup hydra later on Mesos/Maratho cluster, you can issue the command
-> python hydra_setup_script.py --deployment_id <unique id for deployment> --instance_user <instance_user_name mentioned in your config file>