Skip to content

Instantly share code, notes, and snippets.

@tzach
Last active February 22, 2017 08:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tzach/1975e1f0d7964e10783979a174745755 to your computer and use it in GitHub Desktop.
Save tzach/1975e1f0d7964e10783979a174745755 to your computer and use it in GitHub Desktop.
#########
This is a step by step instruction for running a cluster of 3 Scylla nodes and a Scylla monitoring servers, all as Docker images on the same box.
#########
# prerequisites (centos 7)
sudo yum install tmux emacs git wget -y
sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF
sudo yum install docker-engine -y
sudo service docker start
sudo chkconfig docker on
### source: https://docs.docker.com/engine/installation/linux/centos/
# Start scylla cluster
sudo docker run --name some-scylla -h some-scylla -d scylladb/scylla --smp 1 --memory 1G
export SEED=$(sudo docker inspect --format='{{ .NetworkSettings.IPAddress }}' some-scylla)
sudo docker run --name some-scylla2 -h some-scylla2 -d scylladb/scylla --seeds="$SEED" --smp 1 --memory 1G
sudo docker run --name some-scylla3 -h some-scylla3 -d scylladb/scylla --seeds="$SEED" --smp 1 --memory 1G
# start monitoring server
git clone https://github.com/scylladb/scylla-grafana-monitoring.git
cd scylla-grafana-monitoring
## extract Scylla IPs and update prometheus.yml
export SCYLLA_IPS=$(for i in $(sudo docker ps -a | grep "scylla" | cut -f1 -d" "); do echo $i; done | xargs -i sudo docker inspect --format='{{ .NetworkSettings.IPAddress }}' {} | sed -r 's/(.*)/"\1:9103\"/' | paste -d, -s)
sed -i "s/targets:\s*\[.*\]/targets: [$SCYLLA_IPS]/" prometheus/prometheus.yml
## Start monitoring
./start-all.sh
# go to ip:3000 to see the chart
# run CQLSh
docker exec -it some-scylla cqlsh
# run nodetool
docker exec -it some-scylla nodetool status
# run stress
sudo docker exec -it some-scylla cassandra-stress write -node $SEED
(source: https://github.com/scylladb/scylla/blob/branch-1.3/docs/docker-hub.md#how-to-use-this-image)
@nirmaayan
Copy link

Need to add sudo to
docker exec -it some-scylla cqlsh > sudo docker exec -it some-scylla cqlsh
docker exec -it some-scylla nodetool status > sudo docker exec -it some-scylla nodetool status

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment