Redis主从+Sentinel监控的HA方案配置

1. 引子

这是项目当中的一部分,为了服务性能方面的考虑,用了redis做缓存的策略。又为了保证高可用性,所以在Redis主从的基础上,增加了redis sentinel做集群监控,在failover时,可以进行主从切换。

staging环境共有两台虚拟机,分配如下:

  • 172.16.1.19:6379 (redis主)
  • 172.16.1.20:6379 (redis从)
  • 172.16.1.20:26379 (redis sentinel 集群监控)

2. Redis 主从配置

首先更改 主Redis的配置文件 redis.conf :

bind {ip}   ##绑定主机ip
protected-mode no  ##为之后sentinel监控做准备
port 6379  ##端口
daemonize yes  ##启动redis,会将它运行在后台
requirepass {your password} ##访问数据库的密码
appendonly yes ##开启aof持久化方式
appendfilename {dir/xxx.aof}  ##aof文件保存路径
appendfsync everysec  ##同步策略:每秒同步

然后更改 从Redis的配置文件 redis.conf :

bind {ip}   ##绑定主机ip
protected-mode no  ##为之后sentinel监控做准备
port 6379  ##端口
daemonize yes  ##启动redis,会将它运行在后台
masterauth {master password}  ##master的访问密码
slave-read-only yes  ##slave允许只读
slaveof {master ip} {master port} ##设置master的ip信息
appendonly yes  ##开启aof持久化方式
appendfilename {dir/xxx.aof}  ##aof文件保存路径
appendfsync everysec  ##同步策略:每秒同步

启动Redis Master和Slave :

//先master后slave
./src/redis-server redis.conf 

这里,我用aof持久化方式,因为考虑到服务器故障时丢失数据的问题。aof在这方面做的更好。 想要详细了解aof和rdb两种redis持久化方式的可以看 redis持久化RDB和AOF。

验证:

./src/redis-cli -h {master ip} -p {master port} info Replication 

你会看到它的主从信息:
这里写图片描述

3. Sentinel监控配置

port 26379  ##端口
daemonize yes
logfile {dir/xxx.log}  ##设置sentinel日志文件的保存路径
## master
sentinel monitor master {master ip} {master port} 1  ##设置监控master的ip信息,同时设置sentinel的决策数量,当master挂掉后,满足n个sentinel发现此问题时,就会开始主从切换.这里设置为1   
sentinel auth-pass master {master password}  ##输入RedisMaster的访问密码
sentinel down-after-milliseconds master 5000
sentinel failover-timeout master 900000
sentinel can-failover master yes
sentinel parallel-syncs master 2

#master2  可以添加多组主从的redis监听
...

启动sentinel :

./src/redis-sentinel sentinel.config
//or
./src/redis-server sentinel.config --sentinel

这里写图片描述

验证:

./src/redis-cli -p {sentinel port} info Sentinel 

你会看到它所监控的主从信息:
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Redis主从+Keepalived是一种常见的Redis高可用方案。它的基本原理是通过使用Keepalived来实现Redis主从切换。具体步骤如下: 1. 首先,需要安装和配置Keepalived。可以按照以下步骤进行操作: - 下载并解压Keepalived的源代码。 - 进入解压后的目录,并执行以下命令进行编译和安装: ``` ./configure --prefix=/usr/local/keepalived/ make make install ``` - 拷贝所需的文件到相应的目录,例如: ``` cp /usr/local/src/keepalived-1.3.5/keepalived/etc/init.d/keepalived /etc/init.d/keepalived cp /usr/local/keepalived/sbin/keepalived /usr/sbin/ cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/ mkdir -p /etc/keepalived/ cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf ``` - 修改keepalived.conf文件,根据实际情况配置虚拟IP(VIP)和监控脚本等参数。 2. 然后,需要配置Redis主从复制。可以按照以下步骤进行操作: - 在Redis的主节点上,修改redis.conf文件,将`slaveof`参数设置为空,即不指定从节点。 - 在Redis的从节点上,修改redis.conf文件,将`slaveof`参数设置为主节点的IP和端口,例如:`slaveof <master_ip> <master_port>`。 3. 最后,启动Keepalived和Redis服务。 - 在Master节点上,启动Keepalived服务。 - 在Master和Slave节点上,分别启动Redis服务。 这样,当Redis的Master节点发生故障时,Keepalived会检测到故障并自动切换到Slave节点,确保Redis服务的高可用性。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [redis高可用:keepalived+redis主从部署](https://blog.csdn.net/liuguanghui1988/article/details/77098143)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Keepalived+redis主从](https://blog.csdn.net/qq_37668945/article/details/88618390)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值