搭建Redis集群模式

主要步骤

  • 下载3.0版本以上的redis客户端
  • 在redis主目录下新建n个子目录(每个子目录代表一个集群节点),并分别拷贝一份redis.conf到子目录中
  • 编辑每个子目录中的redis.conf,修改以下设置:
# 修改端口号,每个集群节点设置一个端口号
port 6379

# 开启集群模式
cluster-enabled yes

# 开启节点配置,并修改6379为与port对应的端口好
cluster-config-file nodes-6379.conf
  • 分别启动各节点
./redis-server redis.conf
./redis-server redis-6380.conf
./redis-server redis-6381.conf
  • 组建集群
# 将6380、6381端口节点加入到6379的集群中
redis-cli -c -p 6379 cluster meet 127.0.0.1 6380
redis-cli -c -p 6379 cluster meet 127.0.0.1 6381
  • 为每个实例分配slots

redis总共有16834个槽,以键的hash值CRC16('key')%16384的余数存放到对应的槽位

在redis/src下执行命令

# 为6379端口节点分配0-3的槽位
./redis-cli -c -p 6379 cluster addslots 0 1 2 3

因为redis-cli不支持指定slots范围参数,单个输入又太麻烦,可以使用脚本执行:

新建一个文件命名为slots.sh,写入

port=$1 
first=$2  
last=$3 
for slot in `seq ${first} ${last}`  
do  
    ./redis-cli -c -p ${port} cluster addslots ${slot}   
done  

保存并执行脚本,为每个集群节点分配槽位(0-16833)

# 为6379端口节点分配0-5000的slot
sh addslots.sh 6379 0 5000
sh addslots.sh 6380 5001 10000
sh addslots.sh 6381 10001 16833
  • 完成后检查节点信息
# 检查节点槽位分配
./redis-cli -c -p 6379 cluster nodes

# 检查节点信息
./redis-cli -c -p 6379 cluster info
./redis-cli -c -p 6380 cluster info
./redis-cli -c -p 6381 cluster info

检查输出:

localhost:src liguosheng$ ./redis-cli -c -p 6379 cluster info
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:3
cluster_size:3
cluster_current_epoch:1
cluster_my_epoch:1
cluster_stats_messages_ping_sent:4242
cluster_stats_messages_pong_sent:4221
cluster_stats_messages_meet_sent:1
cluster_stats_messages_sent:8464
cluster_stats_messages_ping_received:4221
cluster_stats_messages_pong_received:4243
cluster_stats_messages_received:8464

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值