本站所有文章均为原创,如对您有帮助,恳请帮忙点击任何一处广告
  • 首页
  • Redis
  • Redis教程(六)Redis主从复制配置教程

Redis教程(六)Redis主从复制配置教程

发布:TangLu2019-10-15 10:44分类: Redis 标签: redis nosql

一、Redis的主从复制

Redis和MySQL一样支持主从复制,使用主从复制可以很好的实现读写分离,写操作都在主库进行,从库配置为只读。结合sentinel哨兵机制可以实现一定意义的高可用和解决单点故障


二、Redis的主从复制配置方法

1、在slave服务器配置文件上新增配置并重启服务(只有当slaveof选项配置生效后,配置文件里的其他slave相关配置才有效

#需新增内容
slaveof 192.168.1.100 6379  #作为192.168.1.100这台服务器的从服务器
slave-read-only  yes  #从服务器只读,写操作在主服务器上,实现读写分离
repl-timeout 60 #从库复制超时时间,数据很多的话需要调长,否则主从会断开
client-output-buffer-limit slave 256mb 64mb 60  #客户端输出缓冲区配置。每个客户端连接(包括从库)后都会申请一个buffer空间,通过该选项限制可以避免buffer持续增长消耗内存。如果超过限制主库会强制断开连接,也就是说从库处理慢导致主库buffer积压达到限制后主库会强制断开从库的连接,此时主从复制会中断,中断后如果从库再次发起复制请求还会继续被断开导致恶性循环,引发复制风暴。调为0则不限制。
masterauth 123456789  #主库如果配置了密码,这里需要配置正确的密码


2、服务不能重启的情况下可以在线设置。只需要登录从库客户端执行一条slaveof命令就可以完成

redis > slaveof 192.168.1.100 6379


3、查询Redis主从状态的话只需要登录客户端后执行info命令

redisrep1.png


三、Redis主从复制需要注意的几个地方

1、关闭iptables和selinux


2、slave断开重连时会与主服务器进行重新同步的过程,这个时候不要将所有slave一起启动,否则主服务器压力会很大


3、requirepass和masterauth两项设置最好在主从节点上保持一致,避免主从切换后导致环境不一致


4、主节点最好打开持久化配置,否则可能会因为主节点重启而导致从节点数据被清空。就算配有哨兵来做高可用,也可能因为服务重启的速度快过哨兵而导致数据被清空



四、Redis主从故障后手动恢复

如果主节点故障,从节点状态显示为down,但是自身依然是slave状态,这个时候是不可写数据的。如果没有配置哨兵模式的话可以在一台正常工作的从节点上执行slaveof no one命令,这时这台节点角色就会变成master,然后再把它配置为其他节点的master即可。

温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,谢谢合作!
et_highlighter51
版权所有:《Linux运维技术学习站点
文章标题:《Redis教程(六)Redis主从复制配置教程
除非注明,文章均为 《Linux运维技术学习站点》 原创
转载请注明本文短网址:http://www.linuxe.cn/post-437.html  [生成短网址]

已有 0/4605 人参与

发表评论:

欢迎分享Linux运维技术学习站点

欢迎使用手机扫描访问本站,还可以关注微信哦~