Redis哨兵配置

本文介绍了在阿里云Ubuntu 16.04环境下,如何部署Redis Sentinel实现高可用性。详细步骤包括Sentinel的安装、配置文件解读、创建及启动三个Sentinel实例,并展示了通过命令行检查Sentinel状态和故障转移的能力。

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


 

环境与工具

部署环境

  • 阿里云Ubuntu 16.04
  • Redis 3.0.6

部署工具

  • Xshell 6
  • Xftp 6
     

安装sentinel(哨兵)

键入sudo apt-get install redis-sentinel
在这里插入图片描述此时在 /etc/redis 下可以看到新的哨兵配置文件sentinel.conf
在这里插入图片描述


sentinel配置文件解读

键入vim sentinel.conf 查看配置文件:
几个重要的配置内容如下:

#是否为守护进程
daemonize yes

pidfile "/var/run/redis/redis-sentinel.pid"
logfile "/var/log/redis/redis-sentinel.log"
bind 127.0.0.1
port 26379

#工作目录
dir "/var/lib/redis"

#声明该哨兵的主库是mymaster,主库的ip和端口分别为127.0.0.1和6379
#最后一个2的含义是,在哨兵发生领导选举时,该哨兵需要获得2票才能成为leader
sentinel monitor mymaster 127.0.0.1 6379 2

#在mymaster宕机30秒后进行主观下线
sentinel down-after-milliseconds mymaster 30000

#指定在发生failover故障转移时最多可以有1个slave同时对新的master进行同步
sentinel parallel-syncs mymaster 1

#设置故障转移超时时间为180秒
#这个参数的意义比较复杂,详细可以参考官方的注释说明
sentinel failover-timeout mymaster 180000

#发现两个从节点
sentinel known-slave mymaster 127.0.0.1 6380
sentinel known-slave mymaster 127.0.0.1 6381

#epoch实现类似版本号的功能
sentinel current-epoch 0


创建三个sentinel

键入vim sentinel-26379.conf,编辑文件如下:

port 26379
daemonize yes
dir /opt/redis-5.0.4/data
logfile "26379.log"
sentinel monitor mymaster 127.0.0.1  6379 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000

保存退出。
 
 
复制出两个新的sentinel
键入cp -v sentinel-26379.conf sentinel-26380.conf并修改新配置文件如下:
在这里插入图片描述
也即将端口改为26380即可。
同理,再复制出一份sentinel-26381.conf,完成三个哨兵的配置。


启动sentinel

键入 redis-sentinel sentinel-26379.conf
在这里插入图片描述发现提示说没有创建文件夹,创建再重新执行即可:

依次键入mkdir /opt/redis-5.0.4mkdir /opt/redis-5.0.4/data
在这里插入图片描述执行成功。
查看进程:
在这里插入图片描述同样,我们启动sentinel-26380.confsentinel-26381.conf

查看sentinel信息

  1. 键入vim sentinel-26381.conf可以看到配置有一些自动添加的内容:
    在这里插入图片描述
    如果发生了故障转移,sentinel的配置文件会自动进行相应的更改。

  2. 键入redis-cli -p 26379 info,可以看到部分信息如下:

# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
#主节点是mymaster,ip和端口分别为127.0.0.1和6379,有2个从节点,共4个sentinel
master0:name=mymaster,status=ok,address=127.0.0.1:6379,slaves=2,sentinels=4

配置成功。


更多Redis高可用配置请参考:

Redis高可用系列实践

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值