Skip to content

Latest commit

 

History

History
68 lines (46 loc) · 1.82 KB

README.md

File metadata and controls

68 lines (46 loc) · 1.82 KB

Scylla GCE Tools

Simplistic scripts to set up a scylla cluster in GCE.

Prerequisites

A local clone of scylla, scylla-tools-java and scylla-jmx.

Google Cloud SDK installed and ready to use.

Creating the cluster

cp example-config.sh config.sh

Edit the config to your liking. Note that you can also just use a simlink.

# Build the relocatable packages in each required repository:
./scylla-gce.sh build_reloc

# Creates the GCE VM instances.
./scylla-gce.sh create

# Copy the RPMs to the machines, install and configure scylla.
./scylla-gce.sh prepare

Note that scylla-gce.sh build_reloc will use your current environment to invoke the respective build-reloc.py scripts. So make sure you run this command in an environment where these will succeed. Also make sure that you have no more than a single version of each rpm built (in $repo/build/redhat/RPMS/*/, as the prepare command just copies all rpms found in these folders to the nodes and installation will fail with multiple versions present.

Using the cluster

Start scylla on all nodes:

./scylla-gce.sh foreach 'sudo systemctl start scylla-server'

You can use ./scylla-gce.sh foreach to execute arbitrary commands on all nodes.

Replacing the scylla executable with a new one

# Upload `${SCYLLA_REPO}/build/release/scylla` to each nodes.
./scylla-gce.sh upload

Access to the machines

Note that you can use still all the standard gcloud commands to manage/access the machines.

Troubleshooting

Each command that operates on multiple nodes will create a logfile for each node the command is executed on. The logfiles will be named: {node_name}.log.