1、安装环境
集群机器 redis服务 哨兵(sentinel) 描述
虚拟机:10.202.107.207 redis服务端口6379 sentinel服务端口26379 主节点
虚拟机:10.202.107.208 redis服务端口6379 sentinel服务端口26379 从节点
虚拟机:10.202.107.209 redis服务端口6379 sentinel服务端口26379 从节点
即:3个redis服务(1主2从),3个sentinel服务
2、Redis安装(请参照Redis安装)
3、Redis主从配置
3.1、创建目录
mkdir conf mkdir run mkdir logs mkdir data mkdir sentinel
虚拟机:10.202.107.207 redis.conf配置文件:
daemonize yes pidfile /usr/dev/redis/redis-4.0.1/run/redis.pid port 6379 tcp-backlog 511 bind 10.202.107.207 timeout 180 tcp-keepalive 60 loglevel notice logfile /usr/dev/redis/redis-4.0.1/logs/redis.log databases 16 save 900 1 save 300 10 save 60 100 stop-writes-on-bgsave-error yes rdbcompression yes rdbchecksum yes dbfilename its_redis.rdb dir /usr/dev/redis/redis-4.0.1/data slave-serve-stale-data yes slave-read-only yes repl-diskless-sync no repl-diskless-sync-delay 5 repl-disable-tcp-nodelay no slave-priority 100 requirepass 123456 maxclients 1000 maxmemory 4096mb maxmemory-policy volatile-lru maxmemory-samples 3 appendonly no appendfilename its_redis.aof appendfsync everysec no-appendfsync-on-rewrite no auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb aof-load-truncated yes lua-time-limit 5000 slowlog-log-slower-than 10000 slowlog-max-len 128 latency-monitor-threshold 0 notify-keyspace-events "" hash-max-ziplist-entries 512 hash-max-ziplist-value 64 list-max-ziplist-entries 512 list-max-ziplist-value 64 set-max-intset-entries 512 zset-max-ziplist-entries 128 zset-max-ziplist-value 64 hll-sparse-max-bytes 3000 activerehashing yes client-output-buffer-limit normal 0 0 0 client-output-buffer-limit slave 256mb 64mb 60 client-output-buffer-limit pubsub 32mb 8mb 60 hz 10 aof-rewrite-incremental-fsync yes masterauth 123456
虚拟机:10.202.107.208 redis.conf配置文件:
daemonize yes pidfile /usr/dev/redis/redis-4.0.1/run/redis.pid port 6379 tcp-backlog 511 bind 10.202.107.208 timeout 180 tcp-keepalive 60 loglevel notice logfile /usr/dev/redis/redis-4.0.1/logs/redis.log databases 16 save 900 1 save 300 10 save 60 100 stop-writes-on-bgsave-error yes rdbcompression yes rdbchecksum yes dbfilename its_redis.rdb dir /usr/dev/redis/redis-4.0.1/data slave-serve-stale-data yes slave-read-only yes repl-diskless-sync no repl-diskless-sync-delay 5 repl-disable-tcp-nodelay no slave-priority 100 requirepass 123456 maxclients 1000 maxmemory 4096mb maxmemory-policy volatile-lru maxmemory-samples 3 appendonly no appendfilename its_redis.aof appendfsync everysec no-appendfsync-on-rewrite no auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb aof-load-truncated yes lua-time-limit 5000 slowlog-log-slower-than 10000 slowlog-max-len 128 latency-monitor-threshold 0 notify-keyspace-events "" hash-max-ziplist-entries 512 hash-max-ziplist-value 64 list-max-ziplist-entries 512 list-max-ziplist-value 64 set-max-intset-entries 512 zset-max-ziplist-entries 128 zset-max-ziplist-value 64 hll-sparse-max-bytes 3000 activerehashing yes client-output-buffer-limit normal 0 0 0 client-output-buffer-limit slave 256mb 64mb 60 client-output-buffer-limit pubsub 32mb 8mb 60 hz 10 aof-rewrite-incremental-fsync yes masterauth 123456 slaveof 10.202.107.207 6379
虚拟机:10.202.107.209 redis.conf配置文件:
daemonize yes pidfile /usr/dev/redis/redis-4.0.1/run/redis.pid port 6379 tcp-backlog 511 bind 10.202.107.209 timeout 180 tcp-keepalive 60 loglevel notice logfile /usr/dev/redis/redis-4.0.1/logs/redis.log databases 16 save 900 1 save 300 10 save 60 100 stop-writes-on-bgsave-error yes rdbcompression yes rdbchecksum yes dbfilename its_redis.rdb dir /usr/dev/redis/redis-4.0.1/data slave-serve-stale-data yes slave-read-only yes repl-diskless-sync no repl-diskless-sync-delay 5 repl-disable-tcp-nodelay no slave-priority 100 requirepass 123456 maxclients 1000 maxmemory 4096mb maxmemory-policy volatile-lru maxmemory-samples 3 appendonly no appendfilename its_redis.aof appendfsync everysec no-appendfsync-on-rewrite no auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb aof-load-truncated yes lua-time-limit 5000 slowlog-log-slower-than 10000 slowlog-max-len 128 latency-monitor-threshold 0 notify-keyspace-events "" hash-max-ziplist-entries 512 hash-max-ziplist-value 64 list-max-ziplist-entries 512 list-max-ziplist-value 64 set-max-intset-entries 512 zset-max-ziplist-entries 128 zset-max-ziplist-value 64 hll-sparse-max-bytes 3000 activerehashing yes client-output-buffer-limit normal 0 0 0 client-output-buffer-limit slave 256mb 64mb 60 client-output-buffer-limit pubsub 32mb 8mb 60 hz 10 aof-rewrite-incremental-fsync yes masterauth 123456 slaveof 10.202.107.207 6379
相关命令:
1.查看redis进程 ps -ef|grep redis 2.启动redis server ./src/redis-server redis.conf 3.启动redis Client ./src/redis-cli -h 10.202.107.207 -p 6379 -a 123456 4.输入密码 10.202.107.207:6379> auth 123456 5.查看信息 info
查看主从关系
./src/redis-cli -h 10.202.107.207 -p 6379 -a 123456
10.202.107.207:6379> info replication
主从切换
主服务挂掉了后从执行,将从切换为主:
./src/redis-cli -p 6380 slaveof NO ONE
主恢复后从执行:
./src/redis-cli -p 6380 slaveof 10.202.107.207 6379
4、Sentinel主从配置
虚拟机:10.202.107.207 sentinel.conf配置文件:
# 守护进程模式,即后台模式 daemonize yes port 26379 bind 10.202.107.207 sentinel monitor its_sentinel 10.202.107.207 6379 2#2表示在sentinel集群中只要有两个节点检测到redis主节点出故障就进行切换,单sentinel节点无效 #指定工作目录 dir "/usr/dev/redis/redis-4.0.1/sentinel" pidfile "/usr/dev/redis/redis-4.0.1/run/sentinel.pid" #日志级别 loglevel notice logfile "/usr/dev/redis/redis-4.0.1/logs/sentinel.log" #如果6秒后,master仍没活过来,则启动failover sentinel failover-timeout its_sentinel 60000 #redis主节点密码 sentinel auth-pass its_sentinel 123456 #选项指定了在执行故障转移时, 最多可以有多少个从服务器同时对新的主服务器进行同步, 这个数字越小, 完成故障转移所需的时间就 sentinel config-epoch its_sentinel 0 sentinel leader-epoch its_sentinel 0 sentinel current-epoch 1 sentinel announce-ip "10.202.107.207"
虚拟机:10.202.107.208 sentinel.conf配置文件:
# 守护进程模式,即后台模式 daemonize yes port 26379 bind 10.202.107.208 sentinel monitor its_sentinel 10.202.107.207 6379 2#2表示在sentinel集群中只要有两个节点检测到redis主节点出故障就进行切换,单sentinel节点无效 #指定工作目录 dir "/usr/dev/redis/redis-4.0.1/sentinel" pidfile "/usr/dev/redis/redis-4.0.1/run/sentinel.pid" #日志级别 loglevel notice logfile "/usr/dev/redis/redis-4.0.1/logs/sentinel.log" #如果6秒后,master仍没活过来,则启动failover sentinel failover-timeout its_sentinel 60000 #redis主节点密码 sentinel auth-pass its_sentinel 123456 #选项指定了在执行故障转移时, 最多可以有多少个从服务器同时对新的主服务器进行同步, 这个数字越小, 完成故障转移所需的时间就 sentinel config-epoch its_sentinel 0 sentinel leader-epoch its_sentinel 0 sentinel current-epoch 1 sentinel announce-ip "10.202.107.208"
虚拟机:10.202.107.209 sentinel.conf配置文件:
# 守护进程模式,即后台模式 daemonize yes port 26379 bind 10.202.107.209 sentinel monitor its_sentinel 10.202.107.207 6379 2#2表示在sentinel集群中只要有两个节点检测到redis主节点出故障就进行切换,单sentinel节点无效 #指定工作目录 dir "/usr/dev/redis/redis-4.0.1/sentinel" pidfile "/usr/dev/redis/redis-4.0.1/run/sentinel.pid" #日志级别 loglevel notice logfile "/usr/dev/redis/redis-4.0.1/logs/sentinel.log" #如果6秒后,master仍没活过来,则启动failover sentinel failover-timeout its_sentinel 60000 #redis主节点密码 sentinel auth-pass its_sentinel 123456 #选项指定了在执行故障转移时, 最多可以有多少个从服务器同时对新的主服务器进行同步, 这个数字越小, 完成故障转移所需的时间就 sentinel config-epoch its_sentinel 0 sentinel leader-epoch its_sentinel 0 sentinel current-epoch 1 sentinel announce-ip "10.202.107.209"
启动sentinel服务: ./src/redis-sentinel ./conf/sentinel.conf
相关推荐
Redis Sentinel 是一个高可用性解决方案,用于管理 Redis 集群,确保主从复制的稳定性和故障转移的自动化。在本文中,我们将深入探讨 Redis Sentinel 的配置,了解如何设置和利用它来提升 Redis 服务的可靠性。 ...
在本实验中,我们将探讨如何设置和操作一个Redis 2.8.9版本的Sentinel集群,该集群包括环境的搭建、实验步骤以及相关截图的解析。 首先,我们需要了解Redis Sentinel的基本概念。Sentinel是一个分布式系统,它可以...
docker-compose安装redis-sentinel集群(1主+2副+2哨兵)
Redis Sentinel集群和双机热备是 Redis 高可用性(High Availability, HA)的重要组成部分,它们确保了在主节点故障时能够快速切换到备份节点,从而维持服务的连续性。以下将详细介绍这两个概念以及相关配置和操作。...
在实际应用中,Redis Sentinel集群还涉及一些高级配置,比如哨兵数量、故障判断阈值、故障转移超时时间等,这些都需要根据具体场景进行调整。同时,为了提高安全性,你还可以考虑使用SSL加密连接,以及设置严格的...
redis-sentinel 就像他的名字一样,他是一个哨兵,监控 master 状态,如果超过规定时间没有响应,则自动进行主从切换,期间会有一段时间(决定于具体的配置参数)redis集群无法提供服务 。原理类似 mysql 的 MHA。...
总的来说,Windows环境下的Redis Sentinel安装涉及到配置文件的编写、服务的启动以及故障转移的测试。通过这个过程,你可以建立一个可靠的Redis集群,保证数据的高可用性和一致性。记得在生产环境中定期备份数据,以...
Windos系统的Redis sentinel集群。 启动命令:D:\redis-2.8.18.rar\redis-2.8.18>redis-server.exe sentinel.conf --sentinel
Redis Sentinel和Redis Cluster是两种常见的Redis集群解决方案,用于提高Redis数据库的可用性和可扩展性。在本篇文章中,我们将深入探讨这两个系统的工作原理、配置步骤以及它们各自的特点。 首先,让我们了解一下...
在本文中,我们将讨论如何搭建一个 Redis Sentinel 集群,并将其与 SpringBoot 应用程序进行整合。首先,我们来看一下搭建 Redis Sentinel 集群的基本步骤。 1. **Docker 安装与配置** Docker 是一种轻量级的容器...
### Redis 主从配置与 Sentinel 哨兵模式详解 #### 一、Redis 主从配置 在分布式系统中,为了提高数据处理能力和系统的可用性,通常会采用 Redis 的主从复制模型。通过设置一个主节点(Master)和一个或多个从节点...
在这个压缩包中,包含的可能是Redis的安装文件和Sentinel的配置文件,这些都是搭建和管理Redis Sentinel集群必不可少的元素。下面将详细介绍Redis Sentinel集群的安装步骤、配置要点以及相关知识点。 首先,安装...
标题中的“redissentinel基于phpredis扩展的redissentinel客户端”指的是一个使用PHP语言开发的Redis Sentinel客户端,它依赖于phpredis扩展来实现与Redis Sentinel服务的交互。Redis Sentinel是Redis集群的一个重要...
Sentinel 系统用于管理多个 Redis 服务器(instance), 该系统执行以下三个任务: 监控(Monitoring): Sentinel 会不断地检查你的主服务器和从服务器是否运作正常。 提醒(Notification): 当被监控的某个...
redis+prometheus+grafana监控的快速搭建傻瓜式图文流程,redis单节点、集群部署参考集群zip
redis集群sentinel主从复制 已经配置好的案例,放在conf目录下。详情可以查看我的博客:http://blog.csdn.net/caiwenfeng_for_23/article/details/45695581
7. **客户端配置**:应用连接到Redis时,应连接到Sentinel集群,而不是直接连接到主服务器。Sentinel会提供当前的主服务器信息,确保应用始终连接到活动的主节点。 8. **监控与管理**:你可以使用`redis-cli`工具与...
因为Redis实例在各个大公司的应用,每个公司都需要一个Redis集群的管理工具,被迫都自己写管理工具来管理Redis集群,antirez考虑到社区的急迫需要(详情),花了几个星期写出了Redis-sentinel。 Redis-sentinel的三大...
当使用Redis做Master-slave的高可用方案时,假如master宕机了,Redis本身(包括它的很多客户端)都没有实现自动进行主备切换,而Redis-Sentinel本身也是一个独立运行的进程,它能监控多个master-slave集群,发现...
通过这种方式,我们不仅理解了Redis Sentinel的工作机制,还学会了如何配置和管理哨兵系统,以确保在Redis集群中的高可用性和容灾能力。在实际应用中,结合哨兵模式,我们可以构建出稳定、可靠的分布式缓存系统。