Simplistic scripts to set up a scylla cluster in GCE.
A local clone of scylla, scylla-tools-java and scylla-jmx.
Google Cloud SDK installed and ready to use.
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.
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.
# Upload `${SCYLLA_REPO}/build/release/scylla` to each nodes.
./scylla-gce.sh upload
Note that you can use still all the standard gcloud
commands to manage/access the machines.
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
.