php配置redis哨兵模式,Redis 哨兵模式原理

f9e3e374f4d2d0b97cc87573b8170ed9.png

Redis 哨兵模式原理

哨兵模式是一种特殊的模式,首先Redis提供了哨兵的命令,哨兵是一个独立的进程,作为进程,它会独立运行、其原理是哨兵通过发送命令,等待Redis服务器响应,从而监控运行的多个Redis实例。

Linux - redis哨兵集群实例

命令整理

官网地址:http://redisdoc.com/redis-cli info #查看redis数据库信息

redis-cli info replication #查看redis的复制授权信息

redis-cli info sentinel #查看redis的哨兵信息

配置流程

思路:

redis主从

一主两从的方案

1.环境准备,准备一主两从的redis架构

redis-6379.confport 6379

daemonize yes

logfile "6379.log"

dbfilename "dump-6379.rdb"

dir "/opt/redis/6379/"

redis-6380.conf

port 6380

daemonize yes

logfile "6380.log"

dbfilename "dump-6380.rdb"

dir "/opt/redis/6380/"

slaveof 127.0.0.1 6379

redis-6381.conf

port 6381

daemonize yes

logfile "6381.log"

dbfilename "dump-6381.rdb"

dir "/opt/redis/6381/"

slaveof 127.0.0.1 6379

2.准备三个数据文件夹mkdir -p /opt/redis/{6379,6380,6381}

3。分别启动三个数据库[root@master sbredis]# redis-server redis-6379.conf

[root@master sbredis]# redis-server redis-6380.conf

[root@master sbredis]# redis-server redis-6381.conf

4.检测主从状态redis-cli -p 6379 info replication

redis-cli -p 6380 info replication

redis-cli -p 6381 info replication

5.准备三个redis哨兵,进行检测主从状态

准备三个哨兵的配置文件

redis-26379.conf// Sentinel节点的端口

port 26379

dir /var/redis/data/

logfile "26379.log"

// 当前Sentinel节点监控 192.168.119.10:6379 这个主节点

// 2代表判断主节点失败至少需要2个Sentinel节点节点同意

// mymaster是主节点的别名

sentinel monitor mymaster 192.168.119.10 6379 2

//每个Sentinel节点都要定期PING命令来判断Redis数据节点和其余Sentinel节点是否可达,如果超过30000毫秒30s且没有回复,则判定不可达

sentinel down-after-milliseconds mymaster 30000

//当Sentinel节点集合对主节点故障判定达成一致时,Sentinel领导者节点会做故障转移操作,选出新的主节点,

原来的从节点会向新的主节点发起复制操作,限制每次向新的主节点发起复制操作的从节点个数为1

sentinel parallel-syncs mymaster 1

//故障转移超时时间为180000毫秒

sentinel failover-timeout mymaster 180000

redis-26380.conf

port 7000

daemonize yes

dir "/opt/data"

logfile "7000.log"

dbfilename "dump-7000.rdb"

cluster-enabled yes

cluster-config-file nodes-7000.conf

cluster-require-full-coverage no

redis-26381.conf

三个配置文件,仅仅是端口的不同,通过命令快速生成配置文件[root@master sbredis]# sed "s/26379/26380/g" redis-26379.conf > redis-26380.conf

[root@master sbredis]# sed "s/26379/26381/g" redis-26379.conf > redis-26381.conf

6.分别启动三个哨兵[root@master sbredis]# redis-sentinel redis-26379.conf

[root@master sbredis]# redis-sentinel redis-26380.conf

[root@master sbredis]# redis-sentinel redis-26381.conf

7.检测哨兵,主从状态redis-cli -p 26379 info sentinel

看到如下信息,就和我一样了[root@master sbredis]# redis-cli -p 26379 info sentinel

Sentinel

sentinel_masters:1

sentinel_tilt:0

sentinel_running_scripts:0

sentinel_scripts_queue_length:0

sentinel_simulate_failure_flags:0

master0:name=s17ms,status=ok,address=127.0.0.1:6379,slaves=2,sentinels=3

8.测验,干掉master redis,是否自动切换ps -ef|grep redis

kill 进程

..

9.再次启动redis 6379 查看它是否加入 主从集群redis-server redis-6379.conf

推荐教程:《Redis教程》

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
配置 Redis 哨兵模式,你需要在 Redis 服务器上进行以下步骤: 1. 首先,确保你已经安装了 Redis。你可以从 Redis 官方网站下载并安装最新版本的 Redis。 2. 创建一个主服务器的 Redis 配置文件,命名为 `redis.conf`,并在配置文件中指定以下参数: ``` port 6379 bind 0.0.0.0 daemonize yes pidfile /var/run/redis_6379.pid logfile /var/log/redis/redis.log dir /var/lib/redis ``` 3. 复制 `redis.conf` 文件为两个从服务器 `redis-slave1.conf` 和 `redis-slave2.conf`。 4. 编辑 `redis-slave1.conf` 和 `redis-slave2.conf` 文件,并进行以下更改: - 修改端口号,让每个从服务器使用不同的端口(例如:6380 和 6381)。 - 添加 `slaveof <master-ip> <master-port>` 配置项,指定主服务器的 IP 地址和端口。 - 可选地,你可以添加 `masterauth <master-password>` 配置项,如果主服务器有密码保护的话。 5. 创建一个哨兵配置文件 `redis-sentinel.conf`,并在配置文件中指定以下参数: ``` port 26379 sentinel monitor mymaster <master-ip> <master-port> <quorum> sentinel down-after-milliseconds mymaster 5000 sentinel parallel-syncs mymaster 1 sentinel failover-timeout mymaster 10000 sentinel auth-pass mymaster <master-password> ``` 6. 启动主服务器和从服务器: - 启动主服务器:运行 `redis-server redis.conf`。 - 启动从服务器:运行 `redis-server redis-slave1.conf` 和 `redis-server redis-slave2.conf`。 7. 启动哨兵进程:运行 `redis-sentinel redis-sentinel.conf`。 这样就完成了 Redis 哨兵模式配置。你可以通过连接到哨兵端口 (26379) 来监视和管理主从服务器的状态,并在主服务器发生故障时进行自动故障转移。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值