diff options
author | antirez <antirez@gmail.com> | 2015-01-28 23:26:42 +0100 |
---|---|---|
committer | antirez <antirez@gmail.com> | 2015-01-28 23:26:46 +0100 |
commit | 8899f91a7f29500e0005fa8a19211503267d884f (patch) | |
tree | a61c1eb4533432a6a306cc1b4a95ccbfecbd7f23 /utils/create-cluster/create-cluster | |
parent | d3ef6c94bfa2d063f0fdbf128fba20119f5c1986 (diff) | |
download | redis-8899f91a7f29500e0005fa8a19211503267d884f.tar.gz |
create-cluster script added.
Simple shell script to create / destroy Redis clusters for manual
testing.
Diffstat (limited to 'utils/create-cluster/create-cluster')
-rwxr-xr-x | utils/create-cluster/create-cluster | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/utils/create-cluster/create-cluster b/utils/create-cluster/create-cluster new file mode 100755 index 000000000..80161587e --- /dev/null +++ b/utils/create-cluster/create-cluster @@ -0,0 +1,66 @@ +#!/bin/bash + +PORT=30000 +ENDPORT=30006 + +if [ "$1" == "start" ] +then + while [ $((PORT < ENDPORT)) != "0" ]; do + PORT=$((PORT+1)) + echo "Starting $PORT" + ../../src/redis-server --port $PORT --cluster-enabled yes --cluster-config-file nodes-${PORT}.conf --cluster-node-timeout 5 --appendonly yes --appendfilename appendonly-${PORT}.aof --dbfilename dump-${PORT}.rdb --logfile ${PORT}.log --daemonize yes + done + exit 0 +fi + +if [ "$1" == "create" ] +then + HOSTS="" + while [ $((PORT < ENDPORT)) != "0" ]; do + PORT=$((PORT+1)) + HOSTS="$HOSTS 127.0.0.1:$PORT" + done + ../../src/redis-trib.rb create --replicas 1 $HOSTS + exit 0 +fi + +if [ "$1" == "stop" ] +then + while [ $((PORT < ENDPORT)) != "0" ]; do + PORT=$((PORT+1)) + echo "Stopping $PORT" + redis-cli -p $PORT shutdown nosave + done + exit 0 +fi + +if [ "$1" == "join" ] +then + while [ $((PORT < ENDPORT)) != "0" ]; do + PORT=$((PORT+1)) + echo "Joining $PORT" + redis-cli -p $PORT CLUSTER MEET 127.0.0.1 10002 + done + + echo "Waiting 5 seconds" + sleep 5 + + PORT=30000 + while [ $((PORT < ENDPORT)) != "0" ]; do + PORT=$((PORT+1)) + echo "Replicate $PORT" + redis-cli -p $PORT CLUSTER REPLICATE $2 + done + exit 0 +fi + +if [ "$1" == "clean" ] +then + rm -rf *.log + rm -rf appendonly*.aof + rm -rf dump*.rdb + rm -rf nodes*.conf + exit 0 +fi + +echo "Usage: $0 [start|create|stop|join|clean]" |