
个人博客: https://songxwn.com/redis-sentinel/
RSS: https://songxwn.com/atom.xml
知乎: https://zhuanlan.zhihu.com/p/633493210
Redis 版本: 6.27
系统:Rocky Linux 8.8 (关闭 SElinux ,关闭防火墙)
dnf module install redis:6 systemctl enable --now redis systemctl status redis vim /etc/redis.conf # 修改业务配置 #bind 127.0.0.1 -::1 bind * -::* # 注释原来的配置,配置绑定所有 IPv4 和 IPv6 地址 requirepass pass@word maxmemory-policy allkeys-lru # 从所有的键中选择最近最少使用的键进行淘汰。 maxmemory 512MB # 默认数字单位为 bytes ,可根据业务和实际物理内存配置。 systemctl restart redis systemctl status redis redis-cli --version # 查看版本 PS:至此,单机部署已完成。
Redis 哨兵模式是 Redis 在主从复制基础上构建的一套高可用解决方案,它可以自动监控 Redis 主节点和从节点的状态,当主节点出现故障时,哨兵会自动将一个从节点切换为新的主节点,以保证系统的高可用性。哨兵模式的优势包括:
PS:与主从相比,哨兵仅解决了手动切换主从节点问题,至于其他的问题,基本上仍然存在。
| 主机名 | 角色 | IP 地址 |
|---|---|---|
| Redis_S1 | Master | 192.168.205.1 |
| Redis_S2 | slaves | 192.168.205.2 |
| Redis_S3 | slaves | 192.168.205.3 |
vim /etc/redis.conf protected-mode no # 关闭保护模式,默认为打开的。关闭此模式是为了让 slaves 连接进来。 requirepass pass123 # 配置访问密码,slaves 也要配置对应的 masterauth 密码。 bind * -::* # 配置绑定 IP maxmemory-policy allkeys-lru maxmemory 512MB vim /etc/redis.conf protected-mode no # 关闭保护模式,默认为打开的。 masterauth pass123 # 配置访问密码,slaves 也要配置对应的 masterauth 密码。 replicaof 192.168.205.1 6379 # 从节点配置,配置主节点的 IP bind * -::* # 配置绑定 IP maxmemory-policy allkeys-lru maxmemory 512MB vim /etc/redis.conf protected-mode no # 关闭保护模式,默认为打开的。 masterauth pass123 # 配置访问密码,slaves 也要配置对应的 masterauth 密码。 replicaof 192.168.205.1 6379 # 从节点配置,配置主节点的 IP bind * -::* # 配置绑定 IP maxmemory-policy allkeys-lru maxmemory 512MB systemctl restart redis # 重启配置生效 redis-cli 127.0.0.1:6379> AUTH password 127.0.0.1:6379> info replication # 输入密码查看状态 systemctl enable --now redis-sentinel systemctl status redis-sentinel ss -an | grep 26379 # 哨兵服务默认监听端口号 26379 vim /etc/redis-sentinel.conf sentinel monitor mymaster 192.168.205.1 6379 2 # 配置监控主节点的 IP 、端口号、2 代表多少个 Sentinel 实例认为主服务器不可用,才会触发自动故障转移。 sentinel auth-pass mymaster pass123 # 主节点的密码 sentinel down-after-milliseconds mymaster 10000 # 指定 Sentinel 在多长时间内未收到来自主服务器的回复后,将主服务器标记为主观下线。 # 单位为毫秒 sentinel parallel-syncs mymaster 1 # 用于指定在自动故障转移期间,最多可以有多少个从服务器同时对新的主服务器进行同步。 # 为 1 即可 PS:mymaster 为自定义名称 redis-cli -p 26379 info sentinel 1 dooonabe 2023-05-31 09:02:51 +08:00 有三个节点为什么不用 cluster 模式 |
2 7lQM1uTy635LOmbu 2023-05-31 09:57:02 +08:00 via Android @dooonabe 自媒体来引流私域的,不用纠结 |
3 bigmomo OP 主要是个人学习来给 jumpserver 用,而 Jumpserver 不支持集群模式。 |