说明
redis主从配置(伪集群),在一台机器上通过配置不同的端口号来实现,端口是:6379,6380,6381,redis版本3.2.3,系统centos6.5
安装redis(略),参考:http://blog.csdn.net/u011186019/article/details/52349273
默认项:配置文件存目录/opt/replication,redis编译文件存放目录:/usr/local/bin
主从复制(一主二从)
操作
一、将redis的配置文件redis.conf复制到配置目录中,分别命名为:redis79.conf、redis80.conf、redis81.conf
二、修改配置文件
redis79.conf
修改如下地方:
port 6379
daemonize yes
pidfile /var/run/redis_6379.pid
logfile "logfile6379.log"
dbfilename dump6379.rdb
redis80.conf
修改如下地方
port 6380
daemonize yes
pidfile /var/run/redis_6380.pid
logfile "logfile6380.log"
dbfilename dump6380.rdb
redis81.conf
修改如下地方
port 6381
daemonize yes
pidfile /var/run/redis_6381.pid
logfile "logfile6381.log"
dbfilename dump6381.rdb
三、启动测试查看配置文件是否配置成功
启动命令:redis-server 配置文件名称
说明:日志文件存放在/opt/replication中可以通过查看日志文件看是否启动成功
使用客户端连接测试:
端口6379
端口6380
端口6381
启动成功,并能连接
四、主从配置
4.1、先在端口6379上设置k1=v1,k2=v1
4.2、将端6380和6381的master指向6379
6380
SLAVEOF 127.0.0.1 6379
6381
SLAVEOF 127.0.0.1 6379
4.3测试主从是否配置成功
在6379中设置k3=v3
在端口6380和6381中可以查看到
注意:
1)如果想使用机器的物理IP,需要修改配置文件中bind参数
2)如果master之前已经有数据,当配置主从后,从节点会自动同步主节点之前已经存在的数据
3)使用info replication命令可以查看主从配置的相关信息
4)从节点只能读
5)如果master挂机,salve不会变化,当master恢复slave会自动连接上master进行复制
6)当slave挂机后恢复需要重新设置master(如果在配置文件配置好slave of 则不需要重新设置)
7)如果master挂掉,可以在slave 中使用slave no one来重新设置master,并重新设置slave of
主-从-从模式
操作
一、在上面的模式中,将6381slave of 指向6380
验证:略
哨兵模式
操作
一、在/opt/replication中新建配置文件sentinel.conf
内容:
sentinel monitor 监控的名称(自己随意命名)127.0.0.1 6379 1
最后的数字1表示:master挂掉后slave进行投票,票数多的成为主机
二、启动哨兵
redis-sentinel sentinel.conf
三、测试
停止master (6379)
选出了端口为:6381为master
在master上写出k7=v7在slave中可以获取到
再次启动端口为:6379后会自动成为slave
额外说明:
redis-sentinel 可以监控多组主从
后台运行,只需要在配置文件中加入daemonize yes和logfile即可