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

被折叠的 条评论
为什么被折叠?



