📍 环境说明
-
系统:CentOS 7.x
-
节点:redis1(192.168.200.10)、redis2(192.168.200.20)
-
Redis版本:6.x(通过yum安装)
🔧 1. 准备工作:清理缓存 & 检查仓库
# 所有节点执行
yum clean all && yum repolist
systemctl stop firewalld && systemctl disable firewalld
⚙️ 2. 安装Redis服务
# 所有节点执行
yum install -y redis
🛠️ 3. 主节点(redis1)配置
修改 /etc/redis.conf
核心配置项:
# 绑定IP注释(允许远程访问)
# bind 127.0.0.1
# 关闭保护模式(允许外部连接)
protected-mode no
# 开启守护进程(后台运行)
daemonize yes
# 设置访问密码(建议高强度密码)
requirepass "123456"
# 主库同步密码(从库提升主库时使用)
masterauth "123456"
# 开启AOF持久化(数据更安全)
appendonly yes
systemctl restart redis
🔄 4. 从节点(redis2)配置
# 拷贝主节点配置(密码等参数自动同步)
scp /etc/redis.conf root@redis2:/etc/
# 修改从节点配置
vi /etc/redis.conf
添加从属关系配置👇
在配置文件中找到 # slaveof <masterip> <masterport>
下方添加:
slaveof 192.168.200.10 6379
systemctl restart redis
🚨 5. 关键注意事项
-
防火墙必须关闭:避免6379端口被拦截
-
密码一致性:主从节点
requirepass
和masterauth
需相同 -
网络连通性:确保主从节点能互相ping通
✅ 6. 效果验证神操作
# 查看主节点复制状态
redis-cli -h 192.168.200.10 -p 6379 -a 123456 info replication
# 查看从节点复制状态
redis-cli -h 192.168.200.20 -p 6379 -a 123456 info replication
🎯 预期成功效果:
主节点显示:
role:master
connected_slaves:1
slave0:ip=192.168.200.20,port=6379,state=online
从节点显示:
role:slave
master_host:192.168.200.10
master_link_status:up
🚑 常见故障排查
-
主从不通:检查防火墙状态、网络连通性、端口开放情况
-
认证失败:确认所有节点密码一致,
masterauth
未遗漏 -
从节点无法同步:查看redis日志
/var/log/redis/redis.log
💡 技术原理揭秘
-
主从复制流程:全量同步(RDB快照)→ 增量同步(AOF缓冲区)
-
AOF优势:比RDB更可靠,记录每次写操作
-
读写分离:主节点写,从节点读(需配置
slave-read-only yes
)
📌 小贴士: 生产环境建议部署哨兵模式实现自动故障转移!需要三节点方案可在评论区留言~
👉 点赞收藏,下次不迷路! 需要Redis集群、哨兵搭建教程请关注更新!有任何问题欢迎评论区交流~ ✨