一,主从复制
1.Linux下安装一个redis
2.可以启多个redis实例
3.搭建一主俩从
4.拷贝三个配置文件redis.config
cp redis.conf redis6380.conf
5.如果vim找不到命令(yum -y install vim*)6
6.vim redis6380.conf
include /redis/redis-5.0.4/redis.conf
daemonize yes
port 6380
plogfile 6380.log
idfile /var/run/redis_6380.pid
logfile 6380.log
dbfilename dump6380.rdb
7.cp redis6380.conf redis6381.conf
cp redis6380.conf redis6382.conf
8.修改6381从
vim redis6381.conf
include /redis/redis-5.0.4/redis.conf
daemonize yes
port 6381
pidfile /var/run/redis_6381.pid
logfile 6381.log
dbfilename dump6381.rdb
slaveof 127.0.0.1 6380
9.同理修改6382.config
10.启动服务器6380,6381,6382
./redis-server …/redis6380.conf
./redis-server …/redis6381.conf
./redis-server …/redis6382.conf
11.连6380查看角色
./redis-cli -p 6380
info replication
出现
代表成功
12.查看其它角色
13.启动6380
14.检测
15.当master服务出现故障,需要手动将slave中的一个提升为master,剩下的slave挂到新的master上成为冷处理
主master也就是6380.shutdown
16.81提升为主
17.82变为81的从
18.6380修好以后
19.默认启动他是主,把他挂到6381上
20.当master发生故障后下线后写请求无法执行,需要手动将slave提升为master 。为了实现自动化处理,redis集群可用哨兵模式来实现
检测:
成功
二…哨兵配置(实现故障转移)
1.复制三台哨兵模式
cp sentinel.conf sentinel26380.conf
cp sentinel.conf sentinel26381.conf
cp sentinel.conf sentinel26382.conf
2…修改配置文件sentinel26380.conf
vim sentinel26380.conf
将
2.
(1)改为26380
(2)sentinel monitor mymaster 127.0.0.1 6381 2
3.sentinel26380.conf
同理修改另外的
vim sentinel26381.conf
vim sentinel26382.conf
4.
5.启动26380
./redis-sentinel …/sentinel26380.conf
启动成功
6.新建窗口,我的命名为sentinel81,启动sentinel26381
./redis-sentinel …/sentinel26381.conf
7.新建窗口,我的命名为sentinel82,启动sentinel26382
./redis-sentinel …/sentinel26382.conf
8.检测是否成功
关闭81
81挂掉后哨兵模式自动把82调为主,搭建成功
9.去82检测。已调为主
80应该为82的从
10.从启(6381会挂到新的上面去)
./redis-server …/redis6381.conf
./redis-cli -p 6381
角色查看
6382为主,修复好后的6381为从
11.查看,6382为主。6380,6381为从