[首页]
[文章]
[教程]
首页
Web开发
Windows开发
编程语言
数据库技术
移动平台
系统服务
微信
设计
布布扣
其他
数据分析
首页
>
其他
> 详细
redis主从复制原理和配置
时间:
2020-03-21 09:12:51
阅读:
79
评论:
0
收藏:
0
[点我收藏+]
1.应用场景
2.redis的读写速度虽然非常快了,当大量数据访问的时候,还是有点吃力的,主从复制可以分担一些压力,从结构上,单个Redis服务器会发生单点故障,并且一台服务器需要处理所有的请求负载,压力较大;从容量上,单个Redis服务器内存容量有限,就算一台Redis服务器内存容量为256G,也不能将所有内存用作Redis存储内存,一般来说,单台Redis最大使用内存不应该超过20G。
2.基本原理
3.详细配置
192.168.98.27作为master,192.168.98.111和192.168.98.112作为slave,redis的源码安装过程此处省略,安装完成后需要修改redis.conf配置,其中需要将以下几个地方做修改,找到daemonize 一行修改为yes意思是开启守护进程,找到bind 一行释放出来后添加地址为 0.0.0.0意思是允许任意地址去链接,找到requirepass一行释放后在后面自定义密码,在找到dir一行后将edb存放路径写成绝对路径,可以自定义我这写成/var/lib/redisdb,不然启动redis后rdb的文件就会固定在固定目录不然比较乱,最后在192.168.98.111和192.168.98.112的两个redis.conf里面分别添加 slaveof 192.168.98.27 6379,再添加 masterauth 主密码保存退出!如下图示
4.分别启动主节点和两个从节点的redis
5.登录192.168.98.27主redis
6.在主节点输入info replication查看配置状态显示两个从节点已经生效
7.在两个192.168.98.111和192.168.98.112两个从节点查看主从状态也已经生效
8.向主redis写入数据,flushall清空数据,避免干扰
在111和112上面都可以读取到数据
9.测试向从111和112从库redis写入数据失败,默认slave-read-only yes,如果为no则可以向从写数据
至此,redis主从配置说明完毕,下文为容灾处理部分!
10.容灾处理
当Master服务出现故障,需手动将slave中的一个提升为master, 剩下的slave挂至新的master上(冷处理:机器挂掉了,再处理)
192.168.98.27master模拟故障关闭,将192.168.98.111提升为master
使用slaveof no one,将一台192.168.98.111slave服务器提升为Master (slaveof no one 提升某slave为master)
info replication
在192.168.98.112上面执行SLAVEOF 192.168.98.111 6379
info replication,显示112redis为111主redis的从
将原来坏了的192.168.98.27redis添加到从结构中,重新启动98.27服务器上的redis,执行SLAVEOF 192.168.98.111 6379 然后INFO replication查看信息发现主库只认到112从库成功了,98.27也看到了到主库的状态是down的,原因是在27的redis.conf没有配置masterauth 手动添加后状态成功!
查看状态全部正常!(27和112成功为从库,111为主库)
PS:这种在命令行修改的切换从库命令是临时生效的,要想永久生效必须修改redis.conf配置文件,也就是需要在27和112redis.conf里面改为slaveof 192.168.98.111 6379 masterauth 111redis密码,192.168.98.111的redis.conf 里面之前的slaveof和masterauth可以去掉;总之redis主从就是主库配置文件不用写slaveof和masterauth那两行参数,谁是从库就在从库配置里面写slaveof和masterauth那两行参数,保存退出后永久生效!
redis主从复制原理和配置
原文:https://blog.51cto.com/10087093/2480487
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年09月23日 (328)
2021年09月24日 (313)
2021年09月17日 (191)
2021年09月15日 (369)
2021年09月16日 (411)
2021年09月13日 (439)
2021年09月11日 (398)
2021年09月12日 (393)
2021年09月10日 (160)
2021年09月08日 (222)
最新文章
更多>
2021/09/28 scripts
2022-05-27
vue自定义全局指令v-emoji限制input输入表情和特殊字符
2022-05-27
9.26学习总结
2022-05-27
vim操作
2022-05-27
深入理解计算机基础 第三章
2022-05-27
C++ string 作为形参与引用传递(转)
2022-05-27
python 加解密
2022-05-27
JavaScript-对象数组里根据id获取name,对象可能有children属性
2022-05-27
SQL语句——保持现有内容在后面增加内容
2022-05-27
virsh命令文档
2022-05-27
教程昨日排行
更多>
1.
list.reverse()
2.
Django Admin 管理工具
3.
AppML 案例模型
4.
HTML 标签列表(功能排序)
5.
HTML 颜色名
6.
HTML 语言代码
7.
jQuery 事件
8.
jEasyUI 创建分割按钮
9.
jEasyUI 创建复杂布局
10.
jEasyUI 创建简单窗口
友情链接
汇智网
PHP教程
插件网
关于我们
-
联系我们
-
留言反馈
- 联系我们:wmxa8@hotmail.com
© 2014
bubuko.com
版权所有
打开技术之扣,分享程序人生!