在CentOS系统上搭建Redis主从复制环境,可按照以下步骤操作以实现数据冗余和高可用性:
第一步:安装Redis- 确保系统已安装EPEL仓库(若未安装):sudo yum install epel-release
- 安装Redis:sudo yum install redis
第二步:配置主节点- 编辑主节点配置文件 /etc/redis.conf:sudo vi /etc/redis.conf
- 修改以下参数:
bind:指定主节点IP地址(允许所有节点访问可设为0.0.0.0)。
port:默认端口6379(无需修改)。
requirepass:设置主节点密码(用于从节点认证)。
bind 0.0.0.0port 6379requirepass your_master_password - 保存配置并重启Redis服务:sudo systemctl restart redis
第三步:配置从节点- 编辑从节点配置文件 /etc/redis.conf:sudo vi /etc/redis.conf
- 修改以下参数:
slaveof:指定主节点IP和端口(格式:主节点IP 端口)。
masterauth:设置与主节点相同的密码。
slaveof your_master_ip 6379masterauth your_master_password - 保存配置并重启Redis服务:sudo systemctl restart redis
第四步:验证主从复制- 主节点操作:redis-cli -h your_master_ip -p 6379> set test_key "Hello, Master!"> get test_key
- 从节点操作:redis-cli -h your_slave_ip -p 6379> get test_key
若从节点返回"Hello, Master!",则复制成功。
第五步:监控与日志- 监控复制状态:
使用Redis命令:redis-cli -h your_master_ip INFO replication输出中role:master和connected_slaves:1表示正常。
第三方工具:如Prometheus + Grafana或RedisLive。
- 检查日志:
日志文件路径:/var/log/redis/redis.log。
查看复制错误或连接问题:sudo tail -f /var/log/redis/redis.log
常见问题排查- 连接失败:检查防火墙是否放行Redis端口(6379):sudo firewall-cmd --add-port=6379/tcp --permanentsudo firewall-cmd --reload
- 密码错误:确认主从节点的requirepass和masterauth一致。
- 配置未生效:重启Redis服务后,使用ps aux | grep redis确认进程是否运行。
扩展建议- 多从节点:重复第三步配置多个从节点,实现读写分离。
- 哨兵模式:部署Redis Sentinel实现自动故障转移(需额外配置sentinel.conf)。
- 持久化配置:在/etc/redis.conf中启用RDB或AOF持久化,防止数据丢失。
通过以上步骤,您可在CentOS上快速搭建稳定的Redis主从复制环境。如遇问题,优先检查配置文件语法和日志中的错误信息。