CentOS Stream release 8 安装部署redis6.2.7(单机模式、主从、哨兵)

本文详细介绍了如何在CentOS7.8上安装Redis6.2.7单机模式,包括下载安装包、编译安装、配置参数等步骤。同时,文章还涵盖了Redis的开机启动设置和主从模式配置,以及哨兵模式的工作原理、配置方法,确保高可用性。在哨兵模式中,重点讲解了哨兵的监控、故障切换机制以及配置哨兵服务的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


typora-root-url: assets

Centos7.8安装部署redis6.2.7(单机模式)

1、访问redis官网下载安装对应的安装包

下载链接:https://download.redis.io/releases/redis-6.2.7.tar.gz

2、环境直接yum安装gcc、make

3、进入压缩包src目录下进行源码编译,将redis安装到/usr/local/redis目录下

make install PREFIX=/usr/local/redis

4、起始的配置文件在安装包的解压目录下,后面可以自定义一个存放配置文件的地方存放redis的配置文件配置文件中的具体的参数的含义如下:

  • 后台启动
    daemonize yes

  • 密码访问
    requirepass Redis@dml

  • 开启保护模式
    protected-mode yes

  • 允许远程访问
    bind 172.24.215.134 或者注释掉

  • 本地数据库存放持久化数据的目录该目录-----需要存在

    dir /data/application/redis/data

安装完毕后所有的配置文件均在安装目录的bin目录下其中redis-cli为客户端,redis-service为服务端

安装完毕后可直接执行redis-service 验证是否安装成功。

启动: ./redis-server ../etc/redis.conf

测试:./redis-cli

5、设置开机启动

配置redis为systemctl启动
[root@redis-master redis]# cd /lib/systemd/system
[root@redis-master system]# vim redis.service

[Unit]
Description=Redis
After=network.target
[Service]
ExecStart=/data/application/redis/src/redis-server /data/application/redis/redis.conf  --daemonize no
ExecStop=/data/application/redis/src/redis-cli -h 127.0.0.1 -p 6379 shutdown
[Install]
WantedBy=multi-user.target

参数详解:
• [Unit] 表示这是基础信息
• Description 是描述
• After 是在那个服务后面启动,一般是网络服务启动后启动

• [Service] 表示这里是服务信息
• ExecStart 是启动服务的命令
• ExecStop 是停止服务的指令

• [Install] 表示这是是安装相关信息

WantedBy 是以哪种方式启动:multi-user.target表明当系统以多用户方式(默认的运行级别)启动时,这个服务需要被自动运行。

8.启动服务:
[root@redis-master system]# systemctl daemon-reload #重新加载
[root@redis-master system]# systemctl start redis.service

单机模式到此部署结束。

主从模式配置 配置时在各从节点上按照单集群模式来操作其余的只需关闭protected-mode模式并配置好相应的胡节点的IP和端口号即可。

关闭protected-mode模式,此时外部网络可以直接访问

在从节点配置文件中配置主节点的ip和端口号 replicaof

测试主从
1.在master上面执行

[root@redis-master redis]# cd src/
[root@redis-master src]# ./redis-cli 
127.0.0.1:6379> ping
PONG`
127.0.0.1:6379> set name jack
OK`
127.0.0.1:6379> get name
"jack"
127.0.0.1:6379>

2.分别在slave-1和slave-2上面执行:

[root@redis-slave-1 redis]# cd src/`
[root@redis-slave-1 src]# ./redis-cli 
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> get name
"jack"
127.0.0.1:6379>
[root@redis-slave-2 src]# ./redis-cli 
127.0.0.1:6379> ping
PONG`
127.0.0.1:6379> get name
"jack"`
127.0.0.1:6379>

查看复制状态
master执行:

127.0.0.1:6379> info replication
Replication role:master
connected_slaves:2
slave0:ip=192.168.246.203,port=6379,state=online,offset=490,lag=0
slave1:ip=192.168.246.204,port=6379,state=online,offset=490,lag=1

slave上面执行:

127.0.0.1:6379> info replication
Replication
role:slave
master_host:192.168.246.202
master_port:6379
master_link_status:up

redis-sentinel—哨兵模式

1、哨兵简介:Redis Sentinel

Sentinel(哨兵)是用于监控redis集群中Master状态的工具,其已经被集成在redis2.4+的版本中是Redis官方推荐的高可用性(HA)解决方案。

2、作用

1):Master状态检测
2):如果Master异常,则会进行Master-Slave切换,将其中一个Slave作为Master,将之前的Master作为Slave
3):Master-Slave切换后,sentinel.conf的监控目标会随之调换

3、工作模式

1):每个Sentinel以每秒钟一次的频率向它所知的Master,Slave以及其他 Sentinel 实例发送一个 PING 命令

2):如果一个实例(instance)距离最后一次有效回复 PING 命令的时间超过 down-after-milliseconds 选项所指定的值, 则这个实例会被 Sentinel 标记为主观下线。

3):如果一个Master被标记为主观下线,则正在监视这个Master的所有 Sentinel 要以每秒一次的频率确认Master的确进入了主观下线状态。

4):当有足够数量的 Sentinel(大于等于配置文件指定的值)在指定的时间范围内确认Master的确进入了主观下线状态, 则Master会被标记为客观下线 。

4、主观下线和客观下线

主观下线:Subjectively Down,简称 SDOWN,指的是当前 一个Sentinel 实例对某个redis服务器做出的下线判断。
客观下线:Objectively Down, 简称 ODOWN,指的是多个 Sentinel 实例在对Master Server做出 SDOWN 判断,并且通过 SENTINEL is-master-down-by-addr 命令互相交流之后,得出的Master Server下线判断,然后开启failover

5、配置哨兵模式

1.每台机器上修改redis主配置文件redis.conf文件设置:bind 0.0.0.0

2.每台机器上修改sentinel.conf配置文件

进入到redis安装包的解压目录下

[root@redis-master redis]# vim sentinel.conf
sentinel monitor mymaster 10.0.0.137 6379 2 #当集群中有2个sentinel认为master死了时,才能真正认为该master已经不可用了。 (slave上面写的是master的ip,master写自己ip)
sentinel down-after-milliseconds mymaster 3000   #单位毫秒,3000毫秒就是3秒,slave每隔3秒钟给master发送心跳检测
sentinel failover-timeout mymaster 10000   #若sentinel在该配置值内未能完成failover(故障转移)操作(即故障时master/slave自动切换),则认为本次failover失败。
protected-mode no  #关闭受保护模式--新添加到sentinel配置文件中

3.每台机器启动哨兵服务:

[root@redis-master redis]# ./src/redis-sentinel sentinel.conf 

注意:在生产环境下将哨兵模式启动放到后台执行:

./src/redis-sentinel sentinel.conf &

在这里插入图片描述

将master的哨兵模式退出(Crtl+c),再将redis服务stop了,在两台slave上面查看其中一台是否切换为master:(没有优先级,为随机切换)

在slave机器上面查看:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值