



做主从复制的实验 第一步先准备三台redis 把安装包拖进来 tar zxvf解压
make 和make PREFIX=/usr/local/redis install 编译
编译完成以后启动一下


然后在这个位置输入路径

让系统识别环境加入系统内做一条软链接

然后进/etc/redis/6379.conf修改参数
#修改配置 /etc/redis/6379.conf 参数
vim /etc/redis/6379.conf
bind 127.0.0.1 192.168.80.10 #70行,添加 监听的主机地址
port 6379 #93行,Redis默认的监听端口
daemonize yes #137行,启用守护进程
pidfile /var/run/redis_6379.pid #159行,指定 PID 文件
loglevel notice #167行,日志级别
logfile /var/log/redis_6379.log #172行,指定日志文件
/etc/init.d/redis_6379 restart 重启刷新一下
三台redis 一台是mastar 两台是slave
----- AOF 持久化 -----
RDB持久化是将进程数据写入文件,而AOF持久化,则是将Redis执行的每次写、删除命令记录到单独的日志文件中,查询操作不会记录; 当Redis重启时再次执行AOF文件中的命令来恢复数据。
与RDB相比,AOF的实时性更好,因此已成为主流的持久化方案。
1. 开启AOF
Redis服务器默认开启RDB,关闭AOF;要开启AOF,需要在配置文件中配置:
vim /etc/redis/6379.conf
--700行--修改,开启AOF
appendonly yes
--704行--指定AOF文件名称
appendfilename "appendonly.aof"
--796行--是否忽略最后一条可能存在问题的指令
aof-load-truncated yes
两台slave配置文件里面288行添加一个同步的slave的ip地址
然后进mastar的redis set 一条数据 进slave的redis看下主从复制成功没有






启动哨兵模式的时候要有先后顺序 先启动master再启动slave



编辑哨兵配置文件


然后保存并退出 在解压后的redis目录里启动哨兵模式
用ps -ef查看一下redis的端口号


可以看到有一台master 两台slave 三台哨兵
现在我们模拟故障 先复制一个master会话 然后tail -f /var/log/sentinel.log的日志 然后ps -ef|grep redis查看一下master的进程号 然后kill -9 进程号把master的进程给干掉 由于故障切换时间我们在哨兵配置文件sentinel.conf里面设置的是30秒 所以等待三十秒看master的日志看哨兵的故障切换 然后去slave用redis-cli -p 26379(监听的端口号)info sentinel 里面查看master是不是变为slave的ip地址了 这样就代表切换成功了





