搭建redis集群

规划网络

用一台虚拟机模拟6个节点,一台机器6个节点,创建出3 master、3 salve 环境。虚拟机是 CentOS7 ,ip地址192.168.152.32

创建 Redis 节点

在 redis_cluster 目录下,创建名为7001、7002,7003、7004、7005,7006的目录

mkdir 7001 7002 7003 7004 7005 7006

将 redis.conf 拷贝到这六个目录中,

echo ./7002 ./7003 ./7004 ./7005 ./7006 | xargs -n 1 cp -v /usr/redis/redis_cluster/7001/redis.conf

配置redis7001.conf

集群配置一般不设置密码

启动这6个redis (/usr/redis/bin/redis-server /usr/redis/redis_cluster/7001/redis.conf)

创建redis的集群

./redis-cli --cluster create 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006 --cluster-replicas 1

选择yes

出现此图就表示配置成功

用 redis-cli 连接redis集群

 ./redis-cli -c -h 127.0.0.1 -p 7001

查看集群信息  cluster nodes

查看集群状态 ./redis-cli --cluster check 127.0.0.1:7001,7002 ~~~

给集群添加一个节点

  •  创建一个7007节点
  •  修改配置文件

redis-cli --cluster add-node 加入集群节点

查看节点的状态 /usr/redis/bin/redis-cli --cluster check 127.0.0.1:7007

分配slots

redis-cli --cluster reshard

/usr/redis/bin/redis-cli --cluster reshard 127.0.0.1:7007

all 代表从所有有数据据节点进行迁移到目的节点,也可以选择 目标节点id回车,最后以done进行结束

done 代表结束

分配成功后

配置从节点

创建7008,并修改配置文件

添加从节点

redis-cli --cluster add-node 新节点 集群节点 --cluster-slave --cluster-master-id 主节点的id

删除节点

/usr/redis/bin/redis-cli --cluster del-node 127.0.0.1:7008(集群节点)beda73bc7be37a76806795ddcfe9a8037594ea47(需要删除的节点的id)

7008删除成功

如果要删除有卡槽的节点需要重新分配节点(/usr/redis/bin/redis-cli --cluster reshard 127.0.0.1:7007)将要删除的节点的卡槽转移给别的节点。

删除7007( /usr/redis/bin/redis-cli --cluster del-node 127.0.0.1:7001 56304e9604f4a3eda61360afbba7ef467b766252

删除成功(查看状态:/usr/redis/redis-cli --cluster check 127.0.0.1:7001)

关闭节点(优雅的关闭)不要使用kill命令,使用后集群里面的信息会被破坏  

写一个脚本自动开启redis

执行脚本

开启成功

集群不支持批量存储

Mset  不支持的 ,key取余之后得到的值可能是不一样的,放到不同的槽里面,没办法更改slots 

如果非要存 就给他们分一个组   key后面加上{名字}

对于这样的数据进行取值:

关闭7003

7003宕机后卡槽会自动分配给别的

7006变成了主节点

7003重启后变成了7006的从机

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值