本文基于Redis 5.0.6
版本
Redis 主从复制的搭建
修改主redis.conf
文件配置,建议重写。
# 绑定ip改为0.0.0.0表示允许外部网络访问
bind 0.0.0.0
# 端口
port 6379
# 以守护进程方式运行
daemonize yes
# pid
pidfile "/var/run/redis_6379.pid"
# 日志文件
logfile "/home/redis/redis.log"
# redis密码
requirepass "123456"
# master主机密码,以主从方式运行时要保持一致,否则sentinel切换时会失败
masterauth "123456"
以该配置文件启动redis服务,进入从服务器手动选择(也可配置到文件中)要复制的master,并确认主从复制成功。
> redis-server redis.conf
> redis-cli
> slaveof host port
如:slaveof 192.168.0.1 6379
sentinel哨兵集群的搭建
修改sentinel.conf
文件,建议重写。
# 端口
port 26379
# 以守护进程方式运行
daemonize yes
logfile "sentinel_26379.log"
sentinel deny-scripts-reconfig yes
# 指定当前主机redis服务的的host 及port,2为sentinel内部更换master的确认数,一般取值大于sentinel集群数的1/2
sentinel monitor mymaster <host> <port> 2
# Redis服务密码
sentinel auth-pass mymaster <password>
# 阿里云需指定host为当前机器的公网ip
sentinel announce-ip <host>
基于该配置文件启动sentinel服务,并下线原master服务器以验证sentinel集群是否能够主动选举出一个slave
升级为master
。
> redis-sentinel sentinel.conf
ps:配置中的端口需提前开放,否则会出现无法复制,或主从切换失败的情况。
网友评论