redis的主从复制(读写分离)/哨兵(主从切换)配置
2017-08-04 14:04
579 查看
当数据量变得庞大的时候,读写分离还是很有必要的。同时避免一个redis服务宕机,导致应用宕机的情况,我们启用sentinel(哨兵)服务,实现主从切换的功能。redis提供了一个master,多个slave的服务。
准备三个redis服务,依次命名文件夹子master,slave1,slave2.这里为在测试机上,不干扰原来的redis服务,我们master使用6000端口。
配置文件(redis.conf):
master配置修改端口:
slave1修改配置:
slave2修改配置:
requirepass:是认证密码,应该之后要作主从切换,所以建议所有的密码都一致。masterauth是从机对主机验证时,所需的密码(即主机的requirepass)。
启动主机:
启动从机:
产看启动进程,输入:
可以看到主,从机的redis已经相应启动。
我们来验证下主从复制:
master:
slave1:
slave2:
可以看到主机执行写命令,从机能同步主机的值,主从复制,读写分离就实现了。
但是万一主机挂了怎么办,这是个麻烦事情,所以redis提供了一个sentinel(哨兵),以此来实现主从切换的功能,类似与zookeeper。
Redis哨兵(sentinel)实现主从切换:
我们配置两个sentinel进程:
(1)
(2)
启动sentinel服务(到对应的目录执行相应的命令):
查看日志:
从对应的日志观察到,一个master服务,两个slave服务。
我们现在来kill master进程
我们观察日志:
master切换了,当6000端口的这个服务重启的时候,他会变成6001端口服务的slave。
因为sentinel在切换master的时候,把对应的sentinel.conf和redis.conf文件的配置修改。
期间我们还需要关注的一个问题:sentinel服务本身也不是万能的,也会宕机,所以我们还得部署sentinel集群,象我这样多启动几个sentinel。
注意这个配置:
准备三个redis服务,依次命名文件夹子master,slave1,slave2.这里为在测试机上,不干扰原来的redis服务,我们master使用6000端口。
配置文件(redis.conf):
master配置修改端口:
port 6000 requirepass 123456
slave1修改配置:
启动主机:
redis-server redis1.conf redis-server redis2.conf
产看启动进程,输入:
ps -ef |grep redis
root 6617 1 0 18:34 ? 00:00:01 redis-server *:6000 root 6647 1 0 18:43 ? 00:00:00 redis-server *:6001 root 6653 1 0 18:43 ? 00:00:00 redis-server *:6002 root 6658 6570 0 18:43 pts/0 00:00:00 grep redis
可以看到主,从机的redis已经相应启动。
我们来验证下主从复制:
master:
但是万一主机挂了怎么办,这是个麻烦事情,所以redis提供了一个sentinel(哨兵),以此来实现主从切换的功能,类似与zookeeper。
Redis哨兵(sentinel)实现主从切换:
我们配置两个sentinel进程:
(1)
vi sentinel.conf
[7014] 11 Jan 19:42:30.918 # +monitor master mymaster 127.0.0.1 6000 quorum 2 [7014] 11 Jan 19:42:30.923 * +slave slave 127.0.0.1:6002 127.0.0.1 6002 @ mymaster 127.0.0.1 6000 [7014] 11 Jan 19:42:30.925 * +slave slave 127.0.0.1:6001 127.0.0.1 6002 @ mymaster 127.0.0.1 6000
从对应的日志观察到,一个master服务,两个slave服务。
我们现在来kill master进程
因为sentinel在切换master的时候,把对应的sentinel.conf和redis.conf文件的配置修改。
期间我们还需要关注的一个问题:sentinel服务本身也不是万能的,也会宕机,所以我们还得部署sentinel集群,象我这样多启动几个sentinel。
注意这个配置:
相关文章推荐
- redis的主从复制,读写分离,主从切换 ,哨兵
- redis配置读写分离以及利用哨兵sentinel进行自动主从切换
- redis的主从复制,读写分离,主从切换
- Redis集群 - redis主从配置初步:简单主从切换(哨兵模式)
- redis主从复制,读写分离以及哨兵的配置
- redis的主从复制,读写分离,主从切换
- redis的主从复制,读写分离,主从切换
- redis的主从复制 读写分离 主从切换
- redis主从同步配置和哨兵机制监控master主从切换配置
- Redis之Sentinel主从复制,读写分离,主从切换
- Redis主从复制,读写分离,主从切换
- Linux+Windows环境下Redis安装详细教程(主从复制+哨兵机制配置)
- Redis3.0 主从复制及哨兵配置
- redis 主从复制,读写分离
- Redis的哨兵模式第一次主从切换成功,再次进行主从切换就不行了,怎么破?
- redis sentinel 主从切换(failover)解决方案,详细配置
- Redis教程(九):主从复制配置实例
- windows 下 MySQL读写分离、主从复制、通过amoeba代理实现读写分离 配置全过程
- mysql主从复制配置操作以及主主配置宕机切换演练