手动做redis分布式集群

本文详细描述了如何手动配置RedisCluster分布式集群,包括清理旧环境、节点重启、槽位分配、主从同步等关键步骤,最终实现集群状态正常并能进行数据分发操作。

Redis Cluster 分布式集群手动配置  

先停原来的环境,清掉配置,再启动

redis-cli -c -h 192.168.0.151 -p 7001

flushall

quit

ps -ef | grep redis-server | grep -v grep | awk '{print $2}' | xargs kill -9

rm -rf /mysql/data/redis/redis-cluster/nodes-7001/*.aof   #这里没有删除rdb文件,是因为,rdb文件是dump时的文件 每隔一段时间redis服务器程序会自动对数据库做一次遍历,把内存快照写在一个叫做“dump.rdb”的文件里,没删也不影响重新搭建数据库

rm -rf /mysql/data/redis/redis-cluster/nodes-7001/nodes-*

rm -rf /mysql/data/redis/redis-cluster/nodes-7002/*.aof

rm -rf /mysql/data/redis/redis-cluster/nodes-7002/nodes-*

rm -rf /mysql/data/redis/redis-cluster/nodes-7007/*.aof

rm -rf /mysql/data/redis/redis-cluster/nodes-7007/nodes-*

rm -rf /mysql/data/redis/redis-cluster/nodes-7003/*.aof

rm -rf /mysql/data/redis/redis-cluster/nodes-7003/nodes-*

rm -rf /mysql/data/redis/redis-cluster/nodes-7004/*.aof

rm -rf /mysql/data/redis/redis-cluster/nodes-7004/nodes-*

rm -rf /mysql/data/redis/redis-cluster/nodes-7008/*.aof

rm -rf /mysql/data/redis/redis-cluster/nodes-7008/nodes-*

rm -rf /mysql/data/redis/redis-cluster/nodes-7005/*.aof

rm -rf /mysql/data/redis/redis-cluster/nodes-7005/nodes-*

rm -rf /mysql/data/redis/redis-cluster/nodes-7006/*.aof

rm -rf /mysql/data/redis/redis-cluster/nodes-7006/nodes-*

 

 

重新启动后的集群结构:

主:192.168.0.151 7001  /mysql/data/redis/redis-cluster/nodes-7001/redis.conf

备:192.168.0.152 7003  /mysql/data/redis/redis-cluster/nodes-7003/redis.conf

主:192.168.0.153 7005  /mysql/data/redis/redis-cluster/nodes-7005/redis.conf

备:192.168.0.151 7002  /mysql/data/redis/redis-cluster/nodes-7002/redis.conf

主:192.168.0.152 7004  /mysql/data/redis/redis-cluster/nodes-7004/redis.conf

备:192.168.0.153 7006  /mysql/data/redis/redis-cluster/nodes-7005/redis.conf

 

各节点启动后: 使用 cluster meet ip port 与各节点握手, 是集群通信的第一步(关键步骤 1:集群搭建-与各节点握手)

redis-cli -c -h 192.168.0.151 -p 7001

cluster meet 192.168.0.151 7001

cluster meet 192.168.0.151 7002

cluster meet 192.168.0.152 7003

cluster meet 192.168.0.152 7004

cluster meet 192.168.0.153 7005

cluster meet 192.168.0.153 7006

 

握手成功后,使用 cluster nodes 可以看到各节点都可以互相查询到

192.168.0.151:7001> cluster nodes

全是 master节点

 

节点握手成功后,此时集群处理下线状态,所有读写都被禁止

192.168.0.151:7001> set fg 1

(error) CLUSTERDOWN Hash slot not served

使用 cluster info 命令获取集群当前状态

192.168.0.151:7001> cluster info

cluster_state:fail

 

 

redis 集群有 16384 个哈希槽,要把所有数据映射到 16384 槽,需要批量设置槽(关键步骤 2: 集群搭建-分配槽)

主:

redis-cli -h 192.168.0.151 -p 7001 cluster addslots {0..5461}

redis-cli -h 192.168.0.153 -p 7005 cluster addslots {5462..10922}

redis-cli -h 192.168.0.152 -p 7004 cluster addslots {10923..16383}

 

做主从映射(关键步骤 3:集群搭建-登录从节点,完成对主节点(下面写IP的点)的映射),到此 redis 集群手动搭建完成

redis-cli -h 192.168.0.152 -p 7003

cluster replicate 08a9405c91c03bb6436f435f00e975aac58b8a98

quit

redis-cli -h 192.168.0.151 -p 7002

cluster replicate 438c70b8ddb309e782ff983cc594db5ae655f08c

quit

redis-cli -h 192.168.0.153 -p 7006

cluster replicate a4fb9a0ed113b2668b5cffbc51edd5c873a90d0e

 

192.168.0.151:7001>

cluster nodes

192.168.0.151:7001>

cluster info

cluster_state:ok

cluster_slots_assigned:16384

 

 

 -c 意思是连接到集群里面去

[redis@itpuxdb01 nodes-7002]$ redis-cli -c -h 192.168.0.153 -p 7006

192.168.0.153:7006> set key1 itpux1

-> Redirected to slot [9189] located at 192.168.0.153:7005

OK

192.168.0.153:7005> set key2 itpux2

-> Redirected to slot [4998] located at 192.168.0.151:7001

OK

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值