Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/r4fek/scylla-cli
Python script for managing and repairing Scylla Cluster.
https://github.com/r4fek/scylla-cli
cassandra repair scylla scylla-cluster scylladb
Last synced: 2 months ago
JSON representation
Python script for managing and repairing Scylla Cluster.
- Host: GitHub
- URL: https://github.com/r4fek/scylla-cli
- Owner: r4fek
- License: mit
- Created: 2019-03-18T13:21:20.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2024-05-03T19:46:19.000Z (8 months ago)
- Last Synced: 2024-10-13T19:06:42.011Z (3 months ago)
- Topics: cassandra, repair, scylla, scylla-cluster, scylladb
- Language: Python
- Homepage:
- Size: 147 KB
- Stars: 7
- Watchers: 4
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# scylla-cli
Python script for managing and repairing (in a smart way) Scylla Cluster.
It repairs the primary range of a Scylla node in discrete steps using
[advanced repair techniques](https://www.datastax.com/dev/blog/advanced-repair-techniques).## Prerequisites
* Python >=3.5
* SSH connection or direct access to every Scylla host in the cluster should be possible
* Scylla REST API listens on every Scylla host on `:10000`Following env variables could be set to make your life easier:
```
export SCYLLA_HOST='10.210.92.46' # initial endpoint for obtaining cluster topology
export SCYLLA_USERNAME='root' # ssh user on Scylla host
export SCYLLA_PKEY='/home/USER/.ssh/id_rsa' # Defaults to ~/.ssh/id_rsa
export SCYLLA_CONNECTION_METHOD='ssh' # or 'direct'
```## Installation
```
pip3 install scylla-cli
```## Developing
```
virtualenv -p python3 scylla-cli
pip3 install --editable .
```## Checking cluster status
```
scli status
```
![](docs/status_demo.gif)## Repairing Scylla Cluster
```
# connect to the cluster via 10.210.92.46 with root credentials and repair
# sync keyspace on every endpoint in local DC only
$ scli -u root -p repair sync --local# connect to the cluster via 10.210.92.46 with root credentials and repair
# sync keyspace on 10.210.92.46 only
$ scli -u root -p repair sync --local --hosts 10.210.92.46# connect to the cluster via 10.210.92.46 with root credentials and repair
# sync keyspace on every host except 10.210.92.46
$ scli -u root -p repair sync --local --exclude 10.210.92.46
```