本文主要介绍伪集群的形式进行主从复制的搭建 比较好的教程主从复制搭建
前提电脑上提前下载好单机版的redis
在同级目录下将redis.conf复制三份为 redis6379.conf redis6380.conf redis6381.conf
分别修改配置文件redis6379.conf , redis6380.conf , redis6381.conf 修改以下内容
port 修改为指定的端口 pid进程号存储位置修改为各自端口号 pidfile /var/run/redis_{port}.pid logfile 分别设置为6379.log 6380.log 6381.log dbfilename 修改为dump6379.rdb dump6380.rdb dump6381.rdb分别启动对应的redis
bin/redis-server.sh redis6379.conf bin/redis-server.sh redis6380.conf bin/redis-server.sh redis6381.conf 查看启动的进程 ps -ef | grep redis查看每个redis的状态
info replication 此时每一个都是master配置主从 在6380和6381的进程中输入以下命令
slaveof 127.0.0.1:6379 即设置6379为master复制的原理介绍 配置了6379为主结点之后,从节点会全量同步主结点的redis操作.而且从节点不允许进行写操作,只有主结点可以进行写操作, 当主结点宕机之后,从节点不会退役,当主结点服务器启动之后还可以正常进行读写操作, 但是从节点服务宕了之后,重新启动需要重新连接主结点进行数据同步的操作
配置哨兵模式 哨兵模式的作用 能够从后台监控主机是否故障,如果故障了根据投票数自动将从库转换为主库 首先在redis目录下创建sentinel6379.conf 基本的配置如下
port 16379 daemonize yes logfile "./sentinel6379.log"#日志文件 sentinel monitor mymaster 127.0.0.1 6380 2 sentinel down-after-milliseconds mymaster 5000 sentinel failover-timeout mymaster 15000同理创建sentinel6380.conf sentinel6381.conf 记得修改端口号 里面的配置内容会动态改变 启动多哨兵模式
bin/redis-sentinel sentinel6379.conf bin/redis-sentinel sentinel6380.conf bin/redis-sentinel sentinel6381.conf