redis哨兵v1
redis哨兵集群搭建#
重点:
主从复制:主从复制是高可用redis的基础,主从复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障恢复。
哨兵和集群都是在主从复制基础上实现高可用的。
缺点:故障恢复无法自动化,写操作无法负载均衡,存储能力受到单机的限制。
哨兵:在主从复制的基础上,哨兵实现了自动化的故障恢复。
缺点:写操作无法负载均衡,存储能力受到单机的限制,哨兵无法对从节点进行自动故障转移,在读写分离的场景下,从节点故障会导致读服务不可用,需要对从节点做额外的监控切换操作。
集群:通过集群,redis解决了写操作无法负载均衡,以及存储能力受到单机限制的问题,实现了较为完善的高可用方案。
环境:一主两从
主:192.168.0.81
从:192.168.0.82,192.168.0.83
主:81 | 从1:82 | 从2:83 | |
---|---|---|---|
服务 | master、sentinel | slave | slave |
路径 | /data/redis-6.0.6 | /data/redis-6.0.6 | /data/redis-6.0.6 |
端口 | 6379 | 6379 | 6379 |
数据存储 | /data/redis-6.0.6 | /data/redis-6.0.6 | /data/redis-6.0.6 |
日志路径 | /var/log/redis/redis.log | /var/log/redis/redis.log | /var/log/redis/redis.log |
安装依赖
yum install -y gcc gcc-c++
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
echo “source /opt/rh/devtoolset-9/enable” >>/etc/profile --使永久生效
yum install tcl -y
编译安装redis
mv redis-6.0.6.tar.gz /data/
cd /data
tar -zxvf redis-6.0.6.tar.gz
cd redis-6.0.6
make
修改redis.conf
vim redis.conf
bind 0.0.0.0
protected-mode no
port 6379
daemonize yes
pidfile /var/run/redis_6379.pid
logfile "/var/log/redis/redis.log"
dir ./
主从#
修改从节点
vim redis.conf
replicaof 192.168.0.81 6379
依次启动主从
redis-server redis.conf
redis-cli info replication
# Replication
role:master
connected_slaves:2
slave0:ip=192.168.0.83,port=6379,state=online,offset=1344,lag=0
slave1:ip=192.168.0.82,port=6379,state=online,offset=1344,lag=0
哨兵#
修改哨兵配置
vim sentinel.conf
port 26379
daemonize yes
pidfile "/var/run/redis-sentinel.pid"
logfile "/var/log/redis/sentinel.log"
sentinel monitor mymaster 192.168.0.82 6379 2
依次启动主从
redis-sentinel sentinel.conf
测试
redis-cli -p 26379 info sentinel
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=192.168.0.81:6379,slaves=2,sentinels=3
杀死主节点redis
主
pkill redis-server
redis-cli -p 26379 info sentinel
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=192.168.0.82:6379,slaves=2,sentinels=3
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫