redis集群三主三从redis-cli

redis集群

  • 命令记录
    • redis配置
    • 启动六个redis,三主三从
    • redis节点相互通信命令
    • redis分配槽
    • 设置主从
    • 查看分布信息
    • 分配槽位的脚本

命令记录

redis配置

port 7000
dir /usr/local/redisdata
daemonize yes
logfile 7000.log
dbfilename dump-7000.rdb
cluster-enabled yes
cluster-node-timeout 15000
cluster-config-file nodes-7000.conf
cluster-require-full-coverage no 表示当负责一个插槽的主库下线且没有相应的从库进行故障恢复时,集群仍然可用,下面论证该情况。

启动六个redis,三主三从

redis-server redis7000.conf
redis-server redis7001.conf

redis节点相互通信命令

  • redis-cli -h 127.0.0.1 -p 7000 cluster meet 127.0.0.1 7001
  • redis-cli -h 127.0.0.1 -p 7000 cluster meet 127.0.0.1 7002
  • redis-cli -h 127.0.0.1 -p 7000 cluster meet 127.0.0.1 7003 #4,5

redis分配槽

redis-cli -h 127.0.0.1 -p 7000 cluster addslots {0…5461}
edis-cli -h 127.0.0.1 -p 7001 cluster addslots {5462…10922}
edis-cli -h 127.0.0.1 -p 7002 cluster addslots {10923…16383}

设置主从

#cluster replicate node-id
redis-cli -h 127.0.0.1 -p 7003 cluster replicate ${node-id-7000}
redis-cli -h 127.0.0.1 -p 7004 cluster replicate ${node-id-7001}
redis-cli -h 127.0.0.1 -p 7005 cluster replicate ${node-id-7002}

查看分布信息

redis-cli -p 7000 cluster info #集群信息
redis-cli -p 7000 cluster nodes #集群节点信息
redis-cli -p 7000 cluster slots #具体分配槽位
redis-cli -c -p 7000 #登录

分配槽位的脚本

./xxx.sh 0 5461 7000执行方法

#!/bin/bash
start=$1
end=$2
port=$3
for slot in `seq ${start} ${end}`
    do
        echo "${port}:${slot}"
        redis-cli -h 127.0.0.1 -p ${port} cluster addslots ${slot}
    done

你可能感兴趣的:(redis集群三主三从redis-cli)