--
HamidMoghaddam - 18 May 2016
Although the installation guide of the
CloudSuite's benchmarks are provided by the Cloudsuite developers, sometimes we need to install each part of a benchmark in the different nodes. The following installation steps are used for implementing the web serving benchmark of
CloudSuite on the different VMs of our cloud lab.
Creating Swarm Manager
In order to connect dockers which are installed on different nods we need installing Swarm.
- cloned Vm and named it cs-v3-web-swarmmanager-x64 and assigned it 10.0.100.62.
- installed docker by this link guide.
- opened terminal and wrote: docker pull swarm
- If get this error "Cannot connect to the Docker daemon. Is the docker daemon running on this host?" then run sudo usermod -aG docker mike and sudo usermod -aG docker root then logout and login
- docker pull progrium/consul
- add DOCKER_OPTS="-H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375 \ --cluster-store consul://10.0.100.62:8500 \ --cluster-advertise eth0:2375" to /etc/default/docker
- sudo service docker restart
- docker run -d -p 8500:8500 --hostname 10.0.100.62 --name consul-store progrium/consul -server -bootstrap
- docker run -d --name swarm-agent swarm join --advertise=10.0.100.62:2375 consul://10.0.100.62:8500
- docker run -d -p 22222:2375 --name swarm-manager swarm manage consul://10.0.100.62:8500
- docker -H tcp://10.0.100.62:22222 network create --driver overlay --subnet=172.28.0.0/16 --ip-range=172.28.5.0/24 my_net
Frontend
In the Frontend machine(IP:10.0.100.12)
1. docker run -d --name swarm-agent swarm join --advertise=10.0.100.12:2375 consul://10.0.100.62:8500
Backend
In the Backend machine(IP:10.0.100.2)
- docker run -d --name swarm-agent swarm join --advertise=10.0.100.12:2375 consul://10.0.100.62:8500
Memcache
In the Memcached machine(IP:10.0.100.42)
- docker run -d --name swarm-agent swarm join --advertise=10.0.100.42:2375 consul://10.0.100.62:8500
Client
In the Client machine(IP:10.0.100.32)
- docker run -d --name swarm-agent swarm join --advertise=10.0.100.32:2375 consul://10.0.100.62:8500
Swarm Manager
Again in the Swarm Maganer Machine:
- First check all nodes are healthy : docker -H tcp://10.0.100.62:22222 info (Note: all nodes status should be equal to Health)
- docker -H tcp://10.0.100.62:22222 pull cloudsuite/web-serving:db_server
- docker -H tcp://10.0.100.62:22222 pull cloudsuite/web-serving:memcached_server
- docker -H tcp://10.0.100.62:22222 pull cloudsuite/web-serving:web_server
- docker -H tcp://10.0.100.62:22222 pull cloudsuite/web-serving:faban_client
- docker -H tcp://10.0.100.62:22222 run -dt -e constraint:node==cs-v3-web-backend-x64 --net=my_net --name=mysql_server cloudsuite/web-serving:db_server
- docker -H tcp://10.0.100.62:22222 run -dt -e constraint:node==cs-v3-web-memcached-x64 --net=my_net --name=memcache_server cloudsuite/web-serving:memcached_server
- docker -H tcp://10.0.100.62:22222 run -dt -e constraint:node==cs-v3-web-frontend-x64 --net=my_net --name=web_server cloudsuite/web-serving:web_server /etc/bootstrap.sh
Running benchmark
Now it for running benchmark just use following command in the swarm manager machine:
- Get IP address of web_server by : docker -H tcp://10.0.100.62:22222 inspect --format '' web_server
- Then run benchmark: docker -H tcp://10.0.100.62:22222 run --net=my_net --name=faban_client cloudsuite/web-serving:faban_client [put IP address of step 1 in here]
If you want to see faban(Elgg) web consol then used following steps instead of above two:
- docker -H tcp://10.0.100.62:22222 run -it --entrypoint=/bin/bash -e constraint:node==cs-v3-web-client-x64 --net=my_net --name=faban_client cloudsuite/web-serving:faban_client
- If not loggined automatically then login to faban client by docker -H tcp://10.0.100.62:22222 attach faban_client
- Then run faban: faban/master/bin/startup.sh
- Then cd /home/web20_benchmark/build
- java -jar Usergen.jar https://[put IP address of web_server in here]:8080
- Now use ifconfig to find IP address of faban_client(something like 172.18.0.2)
- Access to faban web consol by: https://[IP address of step 6]:9980