- On each of the 5 cluster nodes, install Cassandra 3.11
by following the instruction to install Cassandra from tarball here. Add
$CASSANDRA_HOME/bin
to yourPATH
so that you can runcassandra
andcqlsh
from anywhere. - You should also have
Python 2.7
andpip
installed. If you have no sudo access to the server, refer to this guide on how to install pip without sudo access. - Install the python dependencies using
pip install --user -r requirements.txt
- Specify your cluster nodes' ip addresses and login details in
config.txt
. Make sure they are in order. - Run
./configure.sh
In the directory conf
, you should find the cassandra configuration files for each of 5 cluster nodes. Replace the cassandra.yaml
in each of your cluster nodes with these files.
-
Start the cassandra servers on all 5 nodes (by running
cassandra
) -
Go to any one of your cluster nodes, again make sure that
cqlsh
can be run from anywhere, and run./setup.sh
-
On each of the cluster nodes, download the project codes from here and unzip it inside the home folder
-
For benchmarking, it's required that you have a server that has passwordless ssh access to the 5 cluster nodes.
-
On this server that has passwordless ssh access to all the cluster node, run
./benchmark.sh <NUMBER_OF_CLIENTS> <CONSISTENCY_LEVEL>
to start benchmarking. ForCONSISTENCY_LEVEL
,1
denotes consistency levelONE
, while4
denotes consistency levelQUORUM
. Log files will be created in your working directory when the benchmark script is running, so it is recommended that you run the benchmarking inside a separate directory, and allocate enough memory to it (around 2GB).