一文读懂Redis之哨兵(Sentinel)模式搭建

目录

一、环境规划

二、Redis服务主从模式搭建

步骤一、Master节点创建目录

步骤二、Master节点下载Redis安装包

步骤三、Master节点解压Redis安装包

步骤四、Master节点进行make编译

步骤五、Slave01节点、Slave02节点根据步骤一至步骤四安装Redis服务

步骤六、Master节点修改Redis服务配置文件

步骤七、Slave01节点修改Redis服务配置文件

步骤八、Slave02节点修改Redis服务配置文件

步骤九、Master节点启动Redis服务

步骤十、Slave01节点启动Redis服务

步骤十一、Slave02节点启动Redis服务

步骤十二、查看Redis服务主从状态信息

步骤十三、验证Redis服务主从数据同步

三、哨兵模式搭建

步骤一、修改Master节点的哨兵配置文件sentinel.conf

步骤二、修改Slave01节点的哨兵配置文件sentinel.conf

步骤三、修改Slave02节点的哨兵配置文件sentinel.conf

步骤四、分别启动三个节点的哨兵进程

步骤五、分别查看三个节点哨兵进程状态信息

四、模拟Master节点宕机主从切换

步骤一、模拟Master节点宕机

步骤二、分别查看三个节点的日志信息

步骤三、查看Redis服务主从状态信息

步骤四、分别查看两个节点哨兵进程状态信息

步骤五、验证Redis服务主从数据同步


        Redis服务主从模式下,当主节点宕机时,需要人工干预手动切换主节点,无法进行故障自动切换。为了解决这个问题,Redis服务在主从模式的基础上延伸出哨兵(Sentinel)模式

        Redis服务哨兵(Sentinel)模式Redis高可用性方案一个或者多个哨兵(Sentinel)进程组成这些哨兵(Sentinel)进程主从节点进行监控不停地检测主节点存活状态主从运行情况主节点宕机无法提供服务哨兵(Sentinel)进程会快速检测到并自动进行故障迁移切换主节点从而保证Redis服务高可用性

        本次Redis服务哨兵(Sentinel)模式搭建采取一主二从+3个哨兵(Sentinel)节点架构。为了节约服务器资源,3个哨兵(Sentinel)节点复用一主二从3台服务器节点。

一、环境规划

● 服务器IP

主库(Master节点):192.168.110.131

从库01(Slave01节点):192.168.110.132

从库02(Slave02节点):192.168.110.133

Sentinel01节点:192.168.110.131

Sentinel02节点:192.168.110.132

Sentinel03节点:192.168.110.133

● 系统版本

CentOS Linux release 7.7.1908 (Core)

● 关闭防火墙

此处为方便演示,主库(Master节点)、从库01(Slave01节点)、从库02(Slave02节点)直接关闭防火墙。

生产环境可以根据实际需求开通服务器防火墙策略。

systemctl stop firewalld

systemctl stop iptables

● Redis版本

此处使用redis-5.0.10版本

● 环境依赖

需要安装gcc-c++

[root@Master ~]# yum install -y gcc-c++

[root@Slave01 ~]# yum install -y gcc-c++

[root@Slave02 ~]# yum install -y gcc-c++

二、Redis服务主从模式搭建

步骤一、Master节点创建目录

● 创建安装主目录

[root@Master ~]# mkdir -p /data/redis

● 创建数据目录

[root@Master ~]# mkdir -p /data/redis/data/

步骤二、Master节点下载Redis安装包

● 安装wget命令

[root@Master ~]# yum install -y wget

● 进入主目录

[root@Master ~]# cd /data/redis/

● 下载安装包

此处使用redis-5.0.10版本

[root@node01 redis]# wget http://download.redis.io/releases/redis-5.0.10.tar.gz

步骤三、Master节点解压Redis安装包

● 解压

[root@Master redis]# tar -zxvf redis-5.0.10.tar.gz

● 重命名

[root@Master redis]# mv redis-5.0.10 redis_6379

步骤四、Master节点进行make编译

[root@Master redis]# cd /data/redis/redis_6379/

[root@Master redis_6379]# make

步骤五、Slave01节点、Slave02节点根据步骤一至步骤四安装Redis服务

步骤六、Master节点修改Redis服务配置文件

[root@Master ~]# vim /data/redis/redis_6379/redis.conf

修改关键配置如下:

● redis进程是否以后台守护进程的方式运行,yes为是,no为否

daemonize yes

● 设置客户端连接Redis服务的连接密码。

requirepass 123456

● 设置Slave节点Redis服务连接Master节点Redis服务的密码。

masterauth 123456

● 指定redis进程的PID文件存放位置

pidfile /data/redis/redis_6379/redis_6379.pid

● redis进程的端口号

port 6379

● 关闭保护模式,可以外部访问。

protected-mode no

● 允许访问Redis的地址,0.0.0.0 表示允许所有远程访问。

bind 0.0.0.0

● 客户端(redis-cli)闲置多长时间后关闭连接,默认此参数为0即关闭此功能

timeout 300

● redis日志级别,可用的级别有debug\verbose\notice\warning

loglevel notice

● log文件输出位置

logfile "/data/redis/redis_6379/redis_6379.log"

● 设置数据库的数量,默认为0可以使用select 命令在连接上指定数据库id

databases 16

● redis数据持久化,此处指定300秒内至少有10个key值发生变化时将数据持久化到数据文件。

save 300 10

● 指定本地数据库文件名

dbfilename dump.rdb

● 指定本地数据文件存放位置

dir /data/redis/data

● 指定是否在每次更新操作后进行日志记录,默认为no。

appendonly no

● 指定更新日志文件名,默认为appendonly.aof

appendfilename appendonly.aof

● 指定更新日志的条件,有三个可选参数 : no表示由操作系统进行数据缓存同

如果在使用 WangEditor 编辑器时,设置了文字颜色、背景色、字体大小或字体类型等样式无效,可能是因为缺少相应的 CSS 样式。 解决方法如下: 1. 打开 WangEditor 的 CSS 文件,一般是 `wangeditor.min.css` 或 `wangeditor.css`。 2. 确认文件中是否包含了设置样式的 CSS 规则,例如: ```css /* 设置字体颜色 */ .wangEditor-txt-color1 { color: #ff0000; } /* 设置背景颜色 */ .wangEditor-bgcolor1 { background-color: #ffff00; } /* 设置字体大小 */ .wangEditor-font-size-16 { font-size: 16px; } /* 设置字体类型 */ .wangEditor-font-family-simkai { font-family: simkai; } ``` 3. 如果 CSS 文件中没有包含这些 CSS 规则,可以手动添加,也可以从官方提供的样式库中复制相应的样式,例如: ```html <!-- 引入样式库 --> <link rel="stylesheet" type="text/css" href="https://unpkg.com/wangeditor/release/wangEditor.min.css"> <!-- 设置字体颜色 --> <div class="wangEditor-txt-color1">这是一段红色文字</div> <!-- 设置背景颜色 --> <div class="wangEditor-bgcolor1">这是一段黄色背景文字</div> <!-- 设置字体大小 --> <div class="wangEditor-font-size-16">这是一段16px字号的文字</div> <!-- 设置字体类型 --> <div class="wangEditor-font-family-simkai">这是一段宋体文字</div> ``` 4. 如果 CSS 文件中有这些 CSS 规则,但样式仍然无效,可能是因为样式被覆盖了。可以尝试使用 `!important` 关键字强制应用样式,例如: ```css .wangEditor-txt-color1 { color: #ff0000 !important; } ``` 5. 保存文件并重新加载 WangEditor 编辑器,就可以看到设置的样式了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

野熊佩骑

您的鼓励是我持续创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值