/redis-clu

Redis Cluster Management Tool

Primary LanguagePythonMIT LicenseMIT

redis-clu

Redis Cluster Management Tool

Create/Manage sharded+replicated redis cluster easily.

Installation

pip install redis-clu

Usage

Create cluster
# Sharded cluster (master-master)
redis-clu create localhost:6376 localhost:6377 localhost:6378
Show status
redis-clu status localhost:6376
Add masters
# single node:
# <cluster> <master>
redis-clu add localhost:6376 localhost:6379
(optional: --keyMigrationCount <count> ) pipelined command, default 1

# multiple nodes:
# recommended for dynamic scaling, it will be split cluster into subclusters
# and each subcluster will be resharding simultaneously
# <cluster> <masters>
redis-clu add_multi localhost:6376 localhost:6381 localhost:6382 
(optional: --keyMigrationCount <count> ) pipelined command, default 1
Add slaves
# master-slave replication
# To make redis cluster high available, all master should have at least one slave.
# <master> <slave>
redis-clu replicate localhost:6376 localhost:6385
Fix cluster
redis-clu fix localhost:6376
# If occurs "Slot <slot> is already busy" execute with "--force 1"
redis-clu fix localhost:6376 --force 1
Reshard cluster (Slot balancing)
redis-clu reshard localhost:6376
(optional: --keyMigrationCount <count> ) pipelined command, default 1
Remove node
# <cluster> <node(master or slave)>
redis-clu remove localhost:6376 localhost:6380
(optional: --keyMigrationCount <count> ) pipelined command, default 1
Flush/Destroy cluster
# flush cluster (initialize with 0 keys):
redis-clu reset localhost:6376

# destroy cluster:
redis-clu reset localhost:6376 --hard 1

Monitoring

Also you can make your own basic monitoring screen using 'watch'.

brew install watch (For Mac OSx)
redis-clu status <cluster_node>
watch -d -n 1 'redis-clu status localhost:6376'

Monitoring will help you to make an action.

ScreenShot