redis cluster安装以及操作

来源:互联网 发布:上海java培训公司名单 编辑:程序博客网 时间:2024/06/08 15:39

redis-8000.conf

port 8000cluster-enabled yescluster-config-file nodes-8000.confcluster-node-timeout 15000daemonize yesappendonly yesdir "/usr/local/redis/redis-data/"appendfilename "appendonly-8000.aof"logfile "8000.log"pidfile /var/run/redis-8000.piddbfilename "dump-8000.rdb"bind 192.168.138.128protected-mode no

配置cluster配置文件 8000 8001 8002为主机 8003 8004 8005为从机

sed 's/8000/8001/g' redis-8000.conf > redis-8001.conf;sed 's/8000/8002/g' redis-8000.conf > redis-8002.conf;sed 's/8000/8003/g' redis-8000.conf > redis-8003.conf;sed 's/8000/8004/g' redis-8000.conf > redis-8004.conf;sed 's/8000/8005/g' redis-8000.conf > redis-8005.conf

启动服务器

redis-server /etc/config/cluster/redis-8000.conf;redis-server /etc/config/cluster/redis-8001.conf;redis-server /etc/config/cluster/redis-8002.conf;redis-server /etc/config/cluster/redis-8003.conf;redis-server /etc/config/cluster/redis-8004.conf;redis-server /etc/config/cluster/redis-8005.conf;

8000分别与其他端口建立关系

redis-cli -c -p 8000 cluster meet 192.168.138.128 8001;redis-cli -c -p 8000 cluster meet 192.168.138.128 8002;redis-cli -c -p 8000 cluster meet 192.168.138.128 8003;redis-cli -c -p 8000 cluster meet 192.168.138.128 8004;redis-cli -c -p 8000 cluster meet 192.168.138.128 8005;

0-16383slot的分布在8000 8001 8002主机的不同范围

start=$1end=$2port=$3for slot in `seq ${start} ${end}`do   echo "slot:${slot}"   redis-cli -c -p ${port} cluster addslots ${slot}donesh addSolts.sh 0 5460 8000sh addSolts.sh 5461 10922 8001sh addSolts.sh 10923 16383 8002

查看cluster状态信息

[root@localhost scripts]# redis-cli -c -h 192.168.138.128 -p 8000192.168.138.128:8000> cluster infocluster_state:okcluster_slots_assigned:16384cluster_slots_ok:16384cluster_slots_pfail:0cluster_slots_fail:0cluster_known_nodes:6cluster_size:3cluster_current_epoch:5cluster_my_epoch:1cluster_stats_messages_sent:1057cluster_stats_messages_received:982

查看slots的信息

192.168.138.128:8000> cluster slots1) 1) (integer) 5461   2) (integer) 10922   3) 1) "192.168.138.128"      2) (integer) 8001      3) "41ff2c811fa237c423934f4fb60566530d65bcd1"2) 1) (integer) 10923   2) (integer) 16383   3) 1) "192.168.138.128"      2) (integer) 8002      3) "2e43cbd8495bba9bf0d0d5bba6668391fc0c053b"3) 1) (integer) 0   2) (integer) 5460   3) 1) "192.168.138.128"      2) (integer) 8000      3) "30c231a603cf446ab3e1394b12220999933f8c1c"

使8003 8004 8005成为8000 8001 8002的从

redis-cli -c -p 8003 cluster replicate `redis-cli -c -p 8003 cluster nodes | grep 8000 | awk '{print $1}'`;redis-cli -c -p 8004 cluster replicate `redis-cli -c -p 8003 cluster nodes | grep 8001 | awk '{print $1}'`;redis-cli -c -p 8005 cluster replicate `redis-cli -c -p 8003 cluster nodes | grep 8002 | awk '{print $1}'`;
1 0
原创粉丝点击