-- 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.

  1. cloned Vm and named it cs-v3-web-swarmmanager-x64 and assigned it
  2. installed docker by this link guide.
  3. opened terminal and wrote: docker pull swarm
  4. 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
  5. docker pull progrium/consul
  6. add DOCKER_OPTS="-H unix:///var/run/docker.sock -H tcp:// \ --cluster-store consul:// \ --cluster-advertise eth0:2375" to /etc/default/docker
  7. sudo service docker restart
  8. docker run -d -p 8500:8500 --hostname --name consul-store progrium/consul -server -bootstrap
  9. docker run -d --name swarm-agent swarm join --advertise= consul://
  10. docker run -d -p 22222:2375 --name swarm-manager swarm manage consul://
  11. docker -H tcp:// network create --driver overlay --subnet= --ip-range= my_net


In the Frontend machine(IP:

1. docker run -d --name swarm-agent swarm join --advertise= consul://


In the Backend machine(IP:

  1. docker run -d --name swarm-agent swarm join --advertise= consul://


In the Memcached machine(IP:

  1. docker run -d --name swarm-agent swarm join --advertise= consul://


In the Client machine(IP:

  1. docker run -d --name swarm-agent swarm join --advertise= consul://

Swarm Manager

Again in the Swarm Maganer Machine:

  1. First check all nodes are healthy : docker -H tcp:// info (Note: all nodes status should be equal to Health)
  2. docker -H tcp:// pull cloudsuite/web-serving:db_server
  3. docker -H tcp:// pull cloudsuite/web-serving:memcached_server
  4. docker -H tcp:// pull cloudsuite/web-serving:web_server
  5. docker -H tcp:// pull cloudsuite/web-serving:faban_client
  6. docker -H tcp:// run -dt -e constraint:node==cs-v3-web-backend-x64 --net=my_net --name=mysql_server cloudsuite/web-serving:db_server
  7. docker -H tcp:// run -dt -e constraint:node==cs-v3-web-memcached-x64 --net=my_net --name=memcache_server cloudsuite/web-serving:memcached_server
  8. docker -H tcp:// 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:

  1. Get IP address of web_server by : docker -H tcp:// inspect --format '' web_server
  2. Then run benchmark: docker -H tcp:// 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:

  1. docker -H tcp:// run -it --entrypoint=/bin/bash -e constraint:node==cs-v3-web-client-x64 --net=my_net --name=faban_client cloudsuite/web-serving:faban_client
  2. If not loggined automatically then login to faban client by docker -H tcp:// attach faban_client
  3. Then run faban: faban/master/bin/startup.sh
  4. Then cd /home/web20_benchmark/build
  5. java -jar Usergen.jar https://[put IP address of web_server in here]:8080
  6. Now use ifconfig to find IP address of faban_client(something like
  7. Access to faban web consol by: https://[IP address of step 6]:9980
Edit | Attach | Watch | Print version | History: r12 < r11 < r10 < r9 < r8 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r12 - 2016-10-07 - HamidMoghaddam
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback