Redis哨兵模式安装配置

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 详细描述如果安装配置Redis哨兵模式,包括源码安装及docker安装

Redis哨兵模式(Sentinel)是Redis提供的除Redis集群(Redis cluster)模式之外的另一种高可用模式。除了高可用,还提供其他附属任务,如监控、通知等。大致的能力如下

监控-Sentinel不断检查您的主实例和副本实例是否按预期工作。

通知-Sentinel可以通过API通知系统管理员或其他计算机程序,受监控的Redis实例之一出现了问题。

自动故障转移。如果主服务器未按预期工作,Sentinel可以启动故障转移过程,将副本提升为主服务器,将其他其他副本重新配置为使用新的主服务器,并通知使用Redis服务器的应用程序在连接时要使用的新地址。

配置提供程序。Sentinel充当客户端服务发现的授权来源:客户端连接到Sentinel,以便请求负责给定服务的当前Redis主机的地址。如果发生故障转移,哨兵将报告新地址。

哨兵模式配置起来也比Cluster模式简单些,服务器需求也相对较少,下面举例说明配置方法(本例使用一主二从,总共三台服务器)。

一、源码安装方式(以最新版的7.2.1为例)

wget https://github.com/redis/redis/archive/7.2.1.tar.gz #下载源码#为方便,创建一个脚本#!/bin/bashserver=/usr/local #本例将redis安装在/usr/local下,可根据根据自行设置prefix=$server/redis
mkdir-p$prefix/{bin,conf}
cd src
cat Makefile|sed -e's/^PREFIX=/#PREFIX=/g'>Makefile.new
echo"PREFIX=$prefix">Makefile
cat Makefile.new >> Makefile
rm-f Makefile.new
makemake install

二、dokcer安装

如何安装docker,这里就不详述了,安装完成docker后,执行如下步骤:

docker pull redis:latest
docker run --restart=always -p6379:6379 --name redis-master --network=host -v /data/redis:/data -itd redis redis-server /data/conf/redis.conf
docker run --restart=always -p26379:26379 --name redis-sentinel --network=host -v /data/redis:/data -itd redis redis-server /data/conf/sentinel.conf –sentinel

三、redis配置

cat redis.conf
bind *
protected-mode yesport 6379tcp-backlog 511timeout 300tcp-keepalive 300daemonize no
supervised no
pidfile "/var/run/redis_6379.pid"loglevel notice
logfile "/data/log/redis.log"databases 16always-show-logo yessave 9001save 30010save 6010000stop-writes-on-bgsave-error yesrdbcompression yesrdbchecksum yesdbfilename "dump.rdb"dir "/data/db"masterauth "123456"replica-serve-stale-data yesreplica-read-only yesrepl-diskless-sync no
repl-diskless-sync-delay 5repl-disable-tcp-nodelay no
replica-priority 100requirepass "123456"lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
appendonly yesappendfilename "appendonly.aof"appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100auto-aof-rewrite-min-size 64mb
aof-load-truncated yesaof-use-rdb-preamble yesbusy-reply-threshold 5000slowlog-log-slower-than 10000slowlog-max-len 128latency-monitor-threshold 0notify-keyspace-events ""hash-max-listpack-entries 512hash-max-listpack-value 64list-max-listpack-size -2list-compress-depth 0set-max-intset-entries 512zset-max-listpack-entries 128zset-max-listpack-value 64hll-sparse-max-bytes 3000stream-node-max-bytes 4kb
stream-node-max-entries 100activerehashing yesclient-output-buffer-limit normal 000client-output-buffer-limit replica 256mb 64mb 60client-output-buffer-limit pubsub 32mb 8mb 60hz 10dynamic-hz yesaof-rewrite-incremental-fsync yesrdb-save-incremental-fsync yeslatency-tracking-info-percentiles 509999.9

以上是master节点的配置文件,slave节点的配置也基本一致,除了上面的内容,需要加上如下内容:

replicaof 主节点IP地址 主节点端口号

上面这行在比较新的redis上不加似乎也可以,哨兵会自动选举产生主节点,其余节点则为从节点。

四、哨兵配置

port 26379daemonize no
pidfile "/var/run/redis-sentinel.pid"logfile ""dir "/tmp"#master服务器的ip,投票数=节点数/2 - 1sentinel monitor trademaster 192.168.0.1 63791sentinel auth-pass trademaster 123456requirepass "123456"

哨兵配置三台服务器的均一样。

五、启动

# 启动redisbin/redis-server conf/redis.conf &
# 启动哨兵bin/redis-sentinel conf/sentinel &



相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
4月前
|
监控 NoSQL Redis
Redis 哨兵模式高可用
Redis 哨兵模式高可用
85 4
|
17天前
|
存储 SQL 关系型数据库
2024Mysql And Redis基础与进阶操作系列(1)作者——LJS[含MySQL的下载、安装、配置详解步骤及报错对应解决方法]
Mysql And Redis基础与进阶操作系列(1)之[MySQL的下载、安装、配置详解步骤及报错对应解决方法]
|
28天前
|
存储 NoSQL Redis
Redis 配置
10月更文挑战第14天
24 1
|
1月前
|
存储 NoSQL 大数据
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
33 3
|
1月前
|
存储 缓存 NoSQL
大数据-46 Redis 持久化 RDB AOF 配置参数 混合模式 具体原理 触发方式 优点与缺点
大数据-46 Redis 持久化 RDB AOF 配置参数 混合模式 具体原理 触发方式 优点与缺点
56 1
|
1月前
|
消息中间件 NoSQL Kafka
大数据-116 - Flink DataStream Sink 原理、概念、常见Sink类型 配置与使用 附带案例1:消费Kafka写到Redis
大数据-116 - Flink DataStream Sink 原理、概念、常见Sink类型 配置与使用 附带案例1:消费Kafka写到Redis
129 0
|
1月前
|
NoSQL Ubuntu Linux
redis的基本安装配置启动使用
redis的基本安装配置启动使用
34 0
|
1月前
|
缓存 NoSQL 数据处理
原生php实现redis缓存配置和使用方法
通过上述步骤,你可以在PHP项目中配置并使用Redis作为高性能的缓存解决方案。合理利用Redis的各种数据结构和特性,可以有效提升应用的响应速度和数据处理效率。记得在实际应用中根据具体需求选择合适的缓存策略,如设置合理的过期时间,以避免内存过度消耗。
50 0
|
2月前
|
NoSQL 网络协议 Redis
Redis的主从复制和哨兵模式
本文详细介绍了Redis的主从复制配置、原理(包括全量复制和增量复制)以及如何搭建一主二从的Redis集群,同时还探讨了Redis哨兵模式的概念、配置文件、以及如何配置一主二从三哨兵的Redis哨兵模式,以实现高可用性。
|
3月前
|
NoSQL Redis 容器
【Azure Cache for Redis】Redis的导出页面无法配置Storage SAS时通过az cli来完成
【Azure Cache for Redis】Redis的导出页面无法配置Storage SAS时通过az cli来完成