redis 集群的搭建

上次说了Redis的修改配置文件和启动问题,今天就来讲讲Redis的集群搭建。
直接进入主题,开启各个节点的redis。

redis-server $REDIS_HOME/etc/redis.conf

开启之后各个节点都不认识,不是集群模式。可以输入命令查看。这里就不查看了,直接按着步骤走就行了。
在主节点输入就行了,不行的话,各节点都来一次,

redis-cli -h 192.168.12.13 -p 6379
192.168.12.13:6379> cluster meet 192.168.12.14 6379
ok
192.168.12.13:6379> cluster meet 192.168.12.15 6379
ok

接下来就要给各节点分配slots了,slots总数为16384,我这平均分配的,送上脚本如下,在能识别命令的环境下执行。分配slots最好在各自节点进行。
cat redis_slots.sh

#!/bin/sh
start_slots=0
end_slots=5461
i=${start_slots}
while [ $i -le $end_slots ]
do
        redis-cli -h 192.168.12.13 -p 6379 cluster addslots ${i} >/dev/null 2>&1 &
        i=$(($i+1))
done

同理:

#!/bin/sh
start_slots=5462
end_slots=10921
i=${start_slots}
while [ $i -le $end_slots ]
do
        redis-cli -h 192.168.12.14 -p 6379 cluster addslots ${i} >/dev/null 2>&1 &
        i=$(($i+1))
done 

还剩一个节点:

#!/bin/sh
start_slots=10922
end_slots=16383
i=${start_slots}
while [ $i -le $end_slots ]
do
        redis-cli -h 192.168.12.15 -p 6379 cluster addslots ${i} >/dev/null 2>&1 &
        i=$(($i+1))
done

好的,这就做完了。再检查一下:

192.168.12.13: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:2
cluster_my_epoch:2
cluster_stats_messages_sent:3035
cluster_stats_messages_received:2705
192.168.12.13:6379> cluster nodes
b2f481cecfdcf6ef13362f26761ddd60ab15eb8e 192.168.12.15:6379 master - 0 1492686120056 0 connected 10922-16383
4b2a06221408bb5a6cfea3b706f28cd0be607949 192.168.12.13:6379 myself,master - 0 0 2 connected 0-5461
3b4500a174b74561691f6023185481a93bf0a332 192.168.12.14:6379 master - 0 1492686119053 1 connected 5462-10921

大功告成!集群搭建完毕,还送个小技巧,输入key-value的时候:

192.168.12.13:6379> set zz haizeiwang
(error) MOVED 14415 192.168.12.15:6379
192.168.12.13:6379> get zz 
(error) MOVED 14415 192.168.12.15:6379
192.168.12.13:6379> get o
(error) MOVED 7497 192.168.12.14:6379

注意到没?当你在192.168.12.13节点set zz 的时候,它会提示你key-value应该去192.168.12.15节点上去set,因为13分配的slots靠前(0-5461),而192.168.12.15节点分配的slots靠后(10922-16383),说明已经很明显(也不完全是这样的,一种推测而已,仅供参考)
字母顺序:a、b、,,,,、x、z。首字母(zz)排后。就直接去192.168.12.15节点,如下:

192.168.12.15:6379> set zz haizeiwang
OK
192.168.12.15:6379> 

以上仅供参考哈,多多指教。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值