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

Redis 主从复制-服务器搭建【薪火相传/哨兵模式】

Redis 安装参考文章:Centos7 安装并启动 Redis-6.2.6

注意:本篇文章操作,不能在 静态IP地址 下操作,必须是 动态IP地址,否则最后主从服务器配置不成功!

管道符查看所有redis进程:ps -ef|grep redis

杀死所有redis进程:killall redis-server

 

1. 首先修改 redis.conf 配置

[root@localhost ~]# cd /usr/local/redis-6.2.6
[root@localhost redis-6.2.6]# vim redis.conf

① 开启 daemonize yes

     此步骤是优化后端启动(启动不会弹出redis图标和大量繁琐信息)

进去编辑命令输入:/daemonize 回车直接跳转它的位置上

     将原先的注释掉,重新编辑开启 daemonize yes

​​​​​​​appendonly关掉:appendonly no

2. 在 cd /usr/local/redis-6.2.6/ 目录下拷贝三个 redis.conf

[root@localhost ~]# cd /usr/local/redis-6.2.6

① vim redis6379.conf 的编辑内容如下:

[root@localhost redis-6.2.6]# vim redis6379.conf
include /usr/local/redis-6.2.6/redis.conf
pidfile /var/run/redis_6379.pid
port 6379
dbfilename dump6379.rdb

② 当前目录下复制 redis6379.conf 为 redis6380.conf

     然后修改 redis6380.conf

 

③ 批量替换  :%s/6379/6380

include /usr/local/redis-6.2.6/redis.conf
pidfile /var/run/redis_6380.pid
port 6380
dbfilename dump6380.rdb

④ 当前目录下复制 redis6379.conf 为 redis6381.conf

     然后修改 redis6381.conf

     批量替换  :%s/6379/6381

[root@localhost redis-6.2.6]# cp redis6379.conf redis6381.conf
[root@localhost redis-6.2.6]# vim redis6381.conf 
include /usr/local/redis-6.2.6/redis.conf
pidfile /var/run/redis_6381.pid
port 6381
dbfilename dump6381.rdb

 3. 以拷贝的三个文件作为参照启动服务

[root@localhost src]# ./redis-server ../redis6379.conf 
[root@localhost src]# ./redis-server ../redis6380.conf 
[root@localhost src]# ./redis-server ../redis6381.conf 

 两种启动方式都可以执行成功!

[root@localhost redis-6.2.6]# redis-server redis6379.conf 
[root@localhost redis-6.2.6]# redis-server redis6380.conf 
[root@localhost redis-6.2.6]# redis-server redis6381.conf 

4. 分别指定端口号登录

[root@localhost redis-6.2.6]# cd src/
[root@localhost src]# ./redis-cli -p 6379
127.0.0.1:6379> info replication
[root@localhost ~]# cd /usr/local/redis-6.2.6/src
[root@localhost src]# ./redis-cli -p 6380
127.0.0.1:6380> info replication
[root@localhost ~]# cd /usr/local/redis-6.2.6/src
[root@localhost src]# ./redis-cli -p 6381
127.0.0.1:6381> info replication

① 输入命令 info replication 能看到三个都是主节点 master

5. 将 6380 和 6381 端口 指定为 6379 端口的仆从

127.0.0.1:6380> slaveof 192.168.230.130 6379
OK
127.0.0.1:6381> slaveof 192.168.230.130 6379
OK

 

6. 测试主从读写分离

① 主节点 6379 写入 h1:1

② 从节点 6380 和 6381 能获取到 h1 的值

从节点 6380  写入 h2:2 则报错,因为从节点只能读,不能写

7. 薪火相传 介绍

那我们可以 让 节点6381从主 节点6380 ,节点6380从主节点6379

也就是,6379是主,6380是从

              6380是主,6381是从

这就是薪火相传

8. 配置 哨兵模式

① 在 cd /usr/local/redis-6.2.6/ 目录下 配置 sentinel.conf 文件(没有新建)

vim sentinel.conf

② 在配置文件 sentinel.conf 中 84行 修改内容

sentinel monitor mymaster 192.168.230.128 6379 1

其中 mymaster 为监控对象起的服务器名称,1 为 至少有多少个哨兵 同意迁移的数量

③ 启动 哨兵

[root@localhost redis-6.2.6]# redis-sentinel sentinel.conf 

 ④ 测试:让大哥-master主节点 6379 挂掉

127.0.0.1:6379> shutdown

哨兵投票选择了节点 6381 作为大哥

⑤ 重启 redis6379 服务器,登录端口

发现原来的大哥 6379节点 在宕机挂掉后,经过哨兵投票选择的 节点6381 作为大哥后,节点6379 作为 节点6381 的小弟了

 

http://www.lryc.cn/news/19683.html

相关文章:

  • 数据库|(五)分组查询
  • Orin安装ssh、vnc教程
  • Allegro如何快速删除孤立铜皮操作指导
  • 从单管单色到单管RGB,这项MicroLED工艺不可忽视
  • 6-Java中新建一个文件、目录、路径
  • Bootstrap系列之Flex布局
  • 匈牙利算法与KM算法的区别
  • You Only Need 90K Parameters to Adapt Light 论文阅读笔记
  • 【vue2小知识】实现axios的二次封装
  • 走近php的数组:数组的定义与数组函数
  • Docker 应用实践-仓库篇
  • python+django篮球NBA周边商城vue
  • 抽象类与接口的区别
  • 1904. 你完成的完整对局数
  • Vue3:自定义指令以及简单的后台管理权限封装
  • 剑指 Offer 12. 矩阵中的路径
  • springboot+jersey+tomcat实现跨域方式上传文件到服务器
  • 【微信小程序】-- 常用视图容器类组件介绍 -- view、scroll-view和swiper(六)
  • 猜数字游戏——C++
  • 整数对最小和
  • 2023-2-22 -javaagent
  • JavaScript BOM操作
  • 【机器学习 | 强基计划】开山篇 | 机器学习介绍及其类别和概念阐述
  • 华为OD机试真题Java实现【合规数组】真题+解题思路+代码(20222023)
  • BoostSearcher搜索引擎项目
  • 【模拟集成电路】频率综合器(Frequency Synthesizer,FS)设计
  • 实例8:机器人的空间描述和变换仿真
  • 网络 导航
  • Web Spider Ast-Hook 浏览器内存漫游-数据检索
  • 计算机网络笔记、面试八股(二)——HTTP协议