您的位置:首页 > 娱乐 > 明星 > 400建筑网官网_西安网约车平台_百度推广关键词排名规则_桌面百度

400建筑网官网_西安网约车平台_百度推广关键词排名规则_桌面百度

2025/9/19 7:59:06 来源:https://blog.csdn.net/huaz_md/article/details/144778974  浏览:    关键词:400建筑网官网_西安网约车平台_百度推广关键词排名规则_桌面百度
400建筑网官网_西安网约车平台_百度推广关键词排名规则_桌面百度

华子目录

  • 实验
    • 环境准备
    • 部署`redis cluster`
    • 添加节点
    • 删除节点
    • redis cluster集群维护

实验

环境准备

  • 再开3台主机

在这里插入图片描述

  • 先把之前3源码编译redis删除
[root@redis-node1 ~]# cd /usr/local/redis/
[root@redis-node1 redis]# make uninstall[root@redis-node2 ~]# cd /usr/local/redis/
[root@redis-node2 redis]# make uninstall[root@redis-node3 ~]# cd /usr/local/redis/
[root@redis-node3 redis]# make uninstall
  • 6台主机通过yum方式安装
[root@redis-node1 ~]# yum install redis -y[root@redis-node2 ~]# yum install redis -y[root@redis-node3 ~]# yum install redis -y[root@redis-node110 ~]# yum install redis -y[root@redis-node120 ~]# yum install redis -y[root@redis-node130 ~]# yum install redis -y

部署redis cluster

  • 所有redis主机
#现在node1上修改配置文件
[root@redis-node1 ~]# vim /etc/redis/redis.conf
bind * -::*
masterauth "123456"   #集群主从认证
requirepass "123456"   #redis登录密码
cluster-enabled yes   #开启cluster集群功能
cluster-config-file nodes-6379.conf   #指定集群配置文件
cluster-node-timeout 15000   #节点加入集群的超时时间,单位是毫秒
#再将配置文件复制给其他节点
[root@redis-node2 ~]# scp /etc/redis/redis.conf root@172.25.254.20:/etc/redis/[root@redis-node3 ~]# scp /etc/redis/redis.conf root@172.25.254.30:/etc/redis/[root@redis-node110 ~]# scp /etc/redis/redis.conf root@172.25.254.110:/etc/redis/[root@redis-node120 ~]# scp /etc/redis/redis.conf root@172.25.254.120:/etc/redis/[root@redis-node130 ~]# scp /etc/redis/redis.conf root@172.25.254.130:/etc/redis/
[root@redis-node1 ~]# systemctl restart redis[root@redis-node2 ~]# systemctl restart redis[root@redis-node3 ~]# systemctl restart redis[root@redis-node110 ~]# systemctl restart redis[root@redis-node120 ~]# systemctl restart redis[root@redis-node130 ~]# systemctl restart redis
#进入node1的redis中
[root@redis-node1 ~]# redis-cli

在这里插入图片描述
在这里插入图片描述

[root@redis-node1 ~]# redis-cli --cluster create -a 123456 \
> 172.25.254.10:6379 172.25.254.20:6379 172.25.254.30:6379 \
> 172.25.254.110:6379 172.25.254.120:6379 172.25.254.130:6379 \
> --cluster-replicas 1
  • --cluster-replicas 1:指定了每个主节点应该有一个从节点。由于总共6个节点Redis集群自动将这些节点分为3个主节点3个从节点Redis会根据节点IP地址端口号自动进行主从分配,确保每个主节点都有一个对应从节点

在这里插入图片描述
在这里插入图片描述

  • 只有master上有hash槽slave上没有hash槽
  • 只有存在hash槽主机才能进行读写
  • slave作用:只有当对应master挂掉了,才会将master上的hash槽迁移到slave上,在没有迁移之前slave上是没有hash槽的

此时redis cluster已经搭建成功

[root@redis-node1 ~]# redis-cli -a 123456 --cluster check 172.25.254.20:6379

在这里插入图片描述

[root@redis-node1 ~]# redis-cli -a 123456 --cluster info 172.25.254.110:6379

在这里插入图片描述

  • 当在10插入数据
[root@redis-node1 ~]# redis-cli -a 123456
127.0.0.1:6379> set name huazi
(error) MOVED 5798 172.25.254.20:6379

在这里插入图片描述

  • 20插入成功
[root@redis-node2 ~]# redis-cli -a 123456
127.0.0.1:6379> set name huazi
OK

在这里插入图片描述

  • 当在10上查看数据
[root@redis-node1 ~]# redis-cli -a 123456
127.0.0.1:6379> get name
(error) MOVED 5798 172.25.254.20:6379

在这里插入图片描述

  • 20查看
[root@redis-node2 ~]# redis-cli -a 123456
127.0.0.1:6379> get name
"huazi"

在这里插入图片描述

添加节点

  • 2个节点

在这里插入图片描述

[root@redis-node50 ~]# yum install redis -y[root@redis-node150 ~]# yum install redis -y
#将配置文件传递给50和150
[root@redis-node1 ~]# scp /etc/redis/redis.conf root@172.25.254.50:/etc/redis/[root@redis-node1 ~]# scp /etc/redis/redis.conf root@172.25.254.150:/etc/redis/
[root@redis-node50 ~]# systemctl restart redis[root@redis-node150 ~]# systemctl restart redis

在这里插入图片描述

  • 50加入到cluster集群中
[root@redis-node1 ~]# redis-cli -a 123456 --cluster add-node 172.25.254.50:6379 172.25.254.20:6379
  • 查看
[root@redis-node1 ~]# redis-cli -a 123456 --cluster check 172.25.254.10:6379

在这里插入图片描述

  • cluster中重新划分槽位
[root@redis-node1 ~]# bc
16384/4
4096[root@redis-node1 ~]# redis-cli -a 123456 --cluster reshard 172.25.254.10:6379

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 槽位重新划分同时不会影响原来槽位中数据
[root@redis-node1 ~]# redis-cli -a 123456 --cluster check 172.25.254.10:6379

在这里插入图片描述

  • 查看数据
[root@redis-node1 ~]# redis-cli -a 123456
127.0.0.1:6379> get name
(error) MOVED 5798 172.25.254.50:6379
#让到50上查看
[root@redis-node50 ~]# redis-cli -a 123456
127.0.0.1:6379> get name
"huazi"
  • 加入slave集群
[root@redis-node1 ~]# redis-cli -a 123456 --cluster add-node 172.25.254.150:6379 172.25.254.10:6379 --cluster-slave --cluster-master-id 779b42266fc4f08b0be1d65cba5a77ccbb46b8d4

在这里插入图片描述

  • 查看
[root@redis-node1 ~]# redis-cli -a 123456 --cluster check 172.25.254.10:6379

在这里插入图片描述

删除节点

  • 先删除slave
[root@redis-node1 ~]# redis-cli -a 123456 --cluster del-node 172.25.254.150:6379 c4311c2a6eee3330015c9b3458060ace57b906be

在这里插入图片描述

[root@redis-node1 ~]# redis-cli -a 123456 --cluster check 172.25.254.10:6379

在这里插入图片描述

  • 50槽位分享给其他节点
[root@redis-node1 ~]# redis-cli -a 123456 --cluster reshard 172.25.254.10:6379

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

[root@redis-node1 ~]# redis-cli -a 123456 --cluster check 172.25.254.10:6379

在这里插入图片描述

[root@redis-node1 ~]# redis-cli -a 123456 --cluster del-node 172.25.254.50:6379 779b42266fc4f08b0be1d65cba5a77ccbb46b8d4

在这里插入图片描述

  • 发现50已经从集群移除了
[root@redis-node1 ~]# redis-cli -a 123456 --cluster check 172.25.254.10:6379

在这里插入图片描述

  • 查看数据
[root@redis-node1 ~]# redis-cli -a 123456
127.0.0.1:6379> get name
(error) MOVED 5798 172.25.254.20:6379
[root@redis-node2 ~]# redis-cli -a 123456
127.0.0.1:6379> get name
"huazi"

redis cluster集群维护

  • 添加节点的时候是先添加node节点集群,然后分配槽位删除节点的操作与添加节点的操作正好相反,是先将被删除Redis node上的槽位迁移到集群中其他Redis node节点上,然后再将其删除,如果一个Redis node节点上的槽位没有被完全迁移删除node时候提示有数据无法删除

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com