【保姆级安装大全之】Redis主从配置 以及哨兵
创始人
2025-05-31 01:04:35
0

Redis主从配置 以及哨兵

1. 概述

今天我们要分享下关于主从Redis配置 以及哨兵,但是学习此文章之前,可以先看下上一篇文章【【保姆级&安装大全之】单机版Redis】。

我们在生产环境使用Redis部署高可用的时候,无非有几种情况。

  • 第一种是:主从配置
  • 第二种是:集群
  • 第三种是:主从 + 集群

那么接下来让我们从主从配置开始一步一步进行学习。

2. 主从配置

在这里插入图片描述

2.1 关闭Redis

也许服务器上启动了redis,如果再配置相同的端口,会出现一些意想不到的情况,所以我们先将redis关闭掉。

在这里插入图片描述

通过上述截图中我们会发现仍然有redis 占用6379端口。所以我们需要关闭掉,下面列举出两种方式供君任意选择

方案 1

直接通过kill命令杀死进程。

kill -9 19191

通过cli 关闭redis

[root@VM-8-3-centos bin]# pwd
/opt/redis/bin
[root@VM-8-3-centos bin]# ./redis-cli shutdown
[root@VM-8-3-centos bin]# ps aux | grep redis
root     20135  0.0  0.0 112812   980 pts/0    S+   15:40   0:00 grep --color=auto redis
[root@VM-8-3-centos bin]#

2.2 创建主从文件

创建文件

cd /opt
mkdir -p redis-replica/master
mkdir -p redis-replica/slave1
mkdir -p redis-replica/slave2

复制redis 配置文件

这里我们直接使用shell 来移动文件

  1. 创建并编辑 sh文件
vi mv-redis.sh
  1. 直接将下面的内容复制到sh中
#!/bin/bashcp -r /opt/redis/bin/* /opt/redis-replica/master
cp -r /opt/redis/bin/* /opt/redis-replica/slave1
cp -r /opt/redis/bin/* /opt/redis-replica/slave2
  1. 通过命令执行shell
/bin/bash mv-redis.sh

在这里插入图片描述

2.3 修改主从配置文件

为了不影响我们之前的单机版Redis,我们修改主从的配置

修改master 节点配置

修改前

# Accept connections on the specified port, default is 6379 (IANA #815344).
# If port 0 is specified Redis will not listen on a TCP socket.
port 6379

修改后

# Accept connections on the specified port, default is 6379 (IANA #815344).
# If port 0 is specified Redis will not listen on a TCP socket.
port 6380

修改slave1 节点配置

修改前

# Accept connections on the specified port, default is 6379 (IANA #815344).
# If port 0 is specified Redis will not listen on a TCP socket.
port 6379

修改后

# Accept connections on the specified port, default is 6379 (IANA #815344).
# If port 0 is specified Redis will not listen on a TCP socket.
port 6381

指定 master节点:

修改前

# 3) Replication is automatic and does not need user intervention. After a
#    network partition replicas automatically try to reconnect to masters
#    and resynchronize with them.
#
# replicaof  

修改后

# 3) Replication is automatic and does not need user intervention. After a
#    network partition replicas automatically try to reconnect to masters
#    and resynchronize with them.
#
replicaof 127.0.0.1 6380

如果是不同的服务器。此处的127.0.0.1 可以修改为 指定的IP。 但是如果服务器上有密码就需要指定字段masterauth

修改slave2 配置文件

跟slave1 修改方式保持一致。只不过端口为6382

2.4 启动服务

这次我们还是通过shell 进行启动以及关闭

#!/bin/bashcd /opt/redis-replica/master
./redis-server ./redis.confcd /opt/redis-replica/slave1
./redis-server ./redis.confcd /opt/redis-replica/slave2
./redis-server ./redis.conf

执行shell

cd /opt/redis-replica
/bin/bash setup.sh

在这里插入图片描述

2.5 查看 启动状态

在这里插入图片描述

2.6 查看主从信息

在这里插入图片描述

主节点设置值

在这里插入图片描述

从节点可以读取

在这里插入图片描述

3. 哨兵

如果执行到这,表示主从配置执行了一半了。此时我们的配置是:主(写),从(读)。当我们的master节点宕机了呢,是不是我们就没法写了。 那怎么解决这个问题。说到这里我们的哨兵到了。

3.1 概述

在redis主从默认是只有主具备写的能力,而从只能读。如果主宕机,整个节点不具备写能力。但是如果这是让一个从变成主,整个节点就可以继续工作。即使之前的主恢复过来也当做这个节点的从即可。

Redis的哨兵就是帮助监控整个节点的,当节点主宕机等情况下,帮助重新选取主。

Redis中哨兵支持单哨兵和多哨兵。单哨兵是只要这个哨兵发现master宕机了,就直接选取另一个master。而多哨兵是根据我们设定,达到一定数量哨兵认为master宕机后才会进行重新选取主。我们以多哨兵演示

3.2 哨兵配置

创建目录

mkdir -p /opt/redis-replica/sentinel
cp /opt/redis-replica/master/redis-sentinel /opt/redis-replica/sentinel

从之前的解压目录 复制配置文件

cp /tmp/soft/redis-5.0.14/sentinel.conf /opt/redis-replica/sentinel/

在这里插入图片描述

3.3 修改配置文件

在这里插入图片描述
三个配置文件 修改内容类似,如下内容:

port 26379
daemonize yes
logfile "/opt/redis-replica/sentinel/26379.log"
sentinel monitor mymaster 127.0.0.1 6380 2

3.4 启动sentinel

在这里插入图片描述

3.5 杀死master节点,主动自动切换

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

等杀死master节点后,等待一段时间后,通过哨兵,第一个从节点升级为master节点了。

4. 结论

上述的配置就是主从配置的过程,其实包括哨兵模式。下面我们会开始学习redis 集群模式

相关内容

热门资讯

linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
C++ 机房预约系统(六):学... 8、 学生模块 8.1 学生子菜单、登录和注销 实现步骤: 在Student.cpp的...
JAVA多线程知识整理 Java多线程基础 线程的创建和启动 继承Thread类来创建并启动 自定义Thread类的子类&#...
【洛谷 P1090】[NOIP... [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G ...
国民技术LPUART介绍 低功耗通用异步接收器(LPUART) 简介 低功耗通用异步收发器...
城乡供水一体化平台-助力乡村振... 城乡供水一体化管理系统建设方案 城乡供水一体化管理系统是运用云计算、大数据等信息化手段࿰...
程序的循环结构和random库...   第三个参数就是步长     引入文件时记得指明字符格式,否则读入不了 ...
中国版ChatGPT在哪些方面... 目录 一、中国巨大的市场需求 二、中国企业加速创新 三、中国的人工智能发展 四、企业愿景的推进 五、...
报名开启 | 共赴一场 Flu... 2023 年 1 月 25 日,Flutter Forward 大会在肯尼亚首都内罗毕...
汇编00-MASM 和 Vis... Qt源码解析 索引 汇编逆向--- MASM 和 Visual Studio入门 前提知识ÿ...
【简陋Web应用3】实现人脸比... 文章目录🍉 前情提要🌷 效果演示🥝 实现过程1. u...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
windows安装JDK步骤 一、 下载JDK安装包 下载地址:https://www.oracle.com/jav...
分治法实现合并排序(归并排序)... 🎊【数据结构与算法】专题正在持续更新中,各种数据结构的创建原理与运用✨...
在linux上安装配置node... 目录前言1,关于nodejs2,配置环境变量3,总结 前言...
Linux学习之端口、网络协议... 端口:设备与外界通讯交流的出口 网络协议:   网络协议是指计算机通信网...
Linux内核进程管理并发同步... 并发同步并发 是指在某一时间段内能够处理多个任务的能力,而 并行 是指同一时间能够处理...
opencv学习-HOG LO... 目录1. HOG(Histogram of Oriented Gradients,方向梯度直方图)1...
EEG微状态的功能意义 导读大脑的瞬时全局功能状态反映在其电场结构上。聚类分析方法一致地提取了四种头表面脑电场结构ÿ...
【Unity 手写PBR】Bu... 写在前面 前期积累: GAMES101作业7提高-实现微表面模型你需要了解的知识 【技...