当前位置: 首页 > news >正文

尚硅谷redis7 86 redis集群分片之3主3从集群搭建

86 redis集群分片之3主集群搭建

3主3从redis集群配置

找3台真实虚拟机,各自新建

        mķdir -p /myredis/cluster

新建6个独立的redis实例服务

        IP:192.168.111.175+端口6381/端口6382

                vim /myredis/cluster/redisCluster6381.conf

bind 0.0.0.0
daemonize yes
protected-mode no
port 6381
logfile "/myredis/cluster/cluster6381.log'
pidfile /myredis/cluster6381.pid
dir /myredis/cluster
dbfilename dump6381.rdb
appendonly yes
appendfilename "appendonly6381.aof"
requirepass 111111
masterauth 111111

cluster-enabled yes
cluster-config-file nodes-6381.conf
cluster-node-timeout 5000

cluster-enabled yes  //打开集群
cluster-config-file nodes-6381.conf  //声明集群配置文件
cluster-node-timeout 5000 //集群之间的超时时间5s

                vim /myredis/cluster/redisCluster6382.conf

        IP:192.168.111.172+端口6383/端口6384

        IP:192.168.111.174+端口6385/端口6386

        三主三从:

通过redis-cli命令为6台机器构建集群关系

启动6台redis机器实例

后面有[cluster]告诉你这是以集群方式启动的

构建主从的关系命令

--cluster create以集群形式创建

-- cluster-replicas 1 表示为每个master创建一个slave节点

集群联通成功后会产生nodes-6381.conf和nodes-6382.conf

链接进入6381作为切入点,查看并检验集群状态

info replication        查看主从状态

cluster nodes        查看集群节点之间的关系

cluster info        展示关于节点、集群健康状态、槽位、配置等的摘要信息。

88 redis集群分片之3主3从集群读写

当前连接6381 发现没有k1但有k2。set k1告诉你应该在6385

但在6385中可以set k1但却不能set k2,告诉你k2在6381

为什么报错?

如何解决

防止路由失效加参数-c并新增两个key

重新连接,记得加-c,-c的含义:开启客户端的 自动重定向支持(cluster support / follow MOVED/ASK redirects)

此时在6381连接的redis中set k1 v1会重定向到6385连接的redis

如何查看某个key属于哪个槽位

CLUSTER KEYSLOT k1

根据分片,12706应该落在6385上

89 redis集群分片之主从容错切换

主从容错切换迁移案例

容错切换迁移

  • 主6381和从机切换,先停止主机6381
    • 6381主机停了,对应的真实从机6384会不会上位? 会! 目前是3主2从

  • 再次查看集群信息
    • 6384变为主机且能够正常使用
  • 随后,6381原来的主机回来了,是否会上位?
    • 不会,并且以从节点形式回归

集群不保证数据一致性,一定会有数据丢失情况

Redis集群不保证强一致性,这意味着在特定的条件下,Redis集群可能会丢掉一些被系统收到的写入请求命令

手动故障转移or节点从属调整该如何处理

上面一换后6381、6384主从对调了,和原始设计图不一样了,该如何调换回去?

重新登陆6381机器

常用命令 CLUSTER FAILOVER

        此时6381重新变为主机,6384变为6381的从机

相关文章:

  • 数字孪生技术赋能西门子安贝格工厂:全球智能制造标杆的数字化重构实践
  • OpenGL —— 2.9.1、摄像机之模拟CS鼠标视角转动,可切换线框模式显示(附源码,glfw+glad)
  • 塔能科技:为多行业工厂量身定制精准节能方案
  • 立志成为一名优秀测试开发工程师(第九天)——使用fiddler工具、request库进行接口测试
  • UniApp X:鸿蒙原生开发的机会与DCloud的崛起之路·优雅草卓伊凡
  • window 显示驱动开发-转换 Direct3D 固定函数状态(一)
  • LLaMaFactory - 支持的模型和模板 常用命令
  • Next.js路由导航完全指南
  • Cancer Cell丨肺癌早期干预新突破,TIM-3靶点或成关键
  • 动态设置微信小程序页面标题(navigationBarTitleText属性)
  • [特殊字符] NAT映射类型详解:从基础原理到应用场景全解析
  • 前人栽树,后人乘凉——AdaBoost
  • 重工业专属:Profibus转Profinet网关在矿石粉料输送线中的定制化方案
  • 1Panel v2 首发体验(alpha)
  • 机器学习算法--随机森林
  • 软考-系统架构设计师-第六章 系统工程基础知识
  • R3GAN利用配置好的Pytorch训练自己的数据集
  • EC800X QuecDuino开发板介绍
  • Unity中的JsonManager
  • vscode调试stm32,Cortex Debug的配置文件lanuch.json如何写,日志
  • 温州网站制作系统/整站营销系统
  • 北京建立公司网站/游戏推广引流
  • 四川省成都市疫情动态/魔贝课凡seo课程好吗
  • 微商网站模板/培训体系
  • 优惠活动制作网站/如何建立一个自己的网站
  • 山东大学青岛校区建设指挥部网站/软文推广名词解释