redis 的一主二从三哨兵模式

概述

在部署redis 的时候,如果redis宕机,缓存将不可用,redis提供了哨兵模式保证redis实现高可用。

即一台主机两台从机,三台哨兵主机,如果主实例宕机,哨兵将将一台从机升级为主机。实现高可用。

配置方法

1.IP地址配置如下

主 127.0.0.1 6001

从 127.0.0.1 6002

从 127.0.0.1 6003

哨兵

127.0.0.1 16001

127.0.0.1 16002

127.0.0.1 16002

2.修改配置

将 redis.con 拷贝两份 redis1.conf redis2.conf

修改配置如下:

编辑 redis.conf

bind 192.168.1.88 127.0.0.1

protected-mode no

daemonize yes

port 6001

pidfile "/var/run/redis_6001.pid"

编辑 redis1.conf

bind 192.168.1.88 127.0.0.1

protected-mode no

daemonize yes

port 6002

pidfile "/var/run/redis_6002.pid"

slaveof 127.0.0.1 6001

编辑 redis2.conf 

bind 192.168.1.88 127.0.0.1

protected-mode no

port 6003

daemonize yes

pidfile "/var/run/redis_6003.pid"

slaveof 127.0.0.1 6001

 

编辑 哨兵文件

将哨兵文件拷贝两份

sentinel.conf sentinel1.conf sentinel2.conf

编辑 sentinel.conf

port 16001

daemonize yes

sentinel monitor mymaster 127.0.0.1 6001 2

编辑 sentinel1.conf

port 16002

daemonize yes

sentinel monitor mymaster 127.0.0.1 6001 2

编辑 sentinel2.conf

port 16003

daemonize yes

sentinel monitor mymaster 127.0.0.1 6001 2

配置完成

 

注意

这里如果需要使用哨兵模式连接的话,注意不能使用 127.0.0.1 需要使用对外的IP地址。

 

3.启动 redis

./bin/redis-server etc/redis.conf 

./bin/redis-server etc/redis1.conf

./bin/redis-server etc/redis2.conf  

启动哨兵

./bin/redis-sentinel ./etc/sentinel.conf 

./bin/redis-sentinel ./etc/sentinel1.conf 

./bin/redis-sentinel ./etc/sentinel2.conf 

 

 

验证

新开一个命令行窗口进入redis的src目录,用redis-cli工具登录其中一个哨兵

./bin/redis-cli -p 16001

连接成功后运行如下命令

sentinel master mymaster

我们可以看到主机端口为 6001

我们手工关闭 6001的实例。

可以看到 6001 断开了。

可以看到6002 变为主机了。可以看到 6002 的配置文件 slaveof 127.0.0.1 6001 没有了。

测试设置数据:

连接到 6002

./bin/redis-cli -p 6002

set name redis

连接到6001

get name 

可以获取到数据 redis

我们连接到6003 ,设置数据,我们可以从机是不能设置数据的。

sentinel 作用

A、Master 状态监测

B、如果Master 异常,则会进行Master-slave 转换,将其中一个Slave作为Master,将之前的Master作为Slave 

C、Master-Slave切换后,redis.conf、redis1.conf和redis2.conf,sentinel.conf 的内容都会发生改变,sentinel.conf的监控目标会随之调换 

sentinel monitor mymaster 127.0.0.1 6002 2

 

转载于:https://www.cnblogs.com/yg_zhang/p/10198965.html

在 CentOS 7 上搭建 Redis一主二从和哨兵模式需要几个步骤。首先,确保你的系统上已经安装了 Redis,如果没有,可以使用 EPEL 镜像包管理器 `yum` 安装: ```sh sudo yum install epel-release -y sudo yum install redis-server -y ``` 然后配置一主服务器: 1. 修改 `/etc/redis/redis.conf` 文件,将 `redis.conf` 中的 `server.master-id` 设置为主服务器的唯一标识,通常设置为 `0` 或者 `localhost`(如果你只有一个节点)。 2. 配置其他两个作为从节点,修改它们的 `slaveof` 指令指向主服务器地址和端口: ``` slaveof <主服务器IP>:6379 ``` 3. 启动主服务器并检查是否运行正常: ```sh sudo systemctl start redis-server sudo systemctl status redis-server ``` 接下来,搭建二个从节点: 4. 对于每个从节点重复上述步骤,只需将 `server.master-id` 和 `slaveof` 的设置相应地调整。 最后,添加哨兵监控: 5. 安装 Redis Sentinel: ```sh sudo yum install redis-sentinel -y ``` 6. 在配置文件 `/etc/redis sentinel.conf` 中,每台哨兵都需要配置,包括监视哪些主服务器、备份策略等。 7. 配置哨兵监听的端口和 IP,启动哨兵服务: ``` sudo systemctl start redis-sentinel ``` 8. 使用 `redis-cli` 或 `sentinel monitor` 命令来告诉哨兵监控哪对主从集群。 完成以上步骤后,你应该就拥有一主两从及哨兵Redis 集群架构。如果遇到问题,你可以通过 `sentinel down` 和 `sentinel failover` 等命令来管理和维护这个高可用的 Redis 系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值