Redis HA篇 +主从搭建
发布日期:2021-06-29 12:02:37
浏览次数:2
分类:技术文章
本文共 4853 字,大约阅读时间需要 16 分钟。
说明:本文为面向Redis主从搭建的指导手册 标签:Redis主从、Redis高可用、Redis读写分离、Redis 4.0.2 注意:文中删去了不需要的多余部分,让初学者一目了然一学就会 温馨提示:如果您发现本文哪里写的有问题或者有更好的写法请留言或私信我进行修改优化
★ 前言
※ 该文档架构采用:单机1主2从架构(相当于3个redis) ※ 系统信息:Centos 6.3 x86_64 4GB内存 ※ 为了方便初学者学习了解redis本文简化了所有步骤 ※ Redis全称“remote dictionary server”中文远程字典服务 ※ Redis属于NoSql数据库中的key-value类型 ※ Redis的哨兵机制是redis2.8开始支持,而集群模式是redis3.0开始支持。 ※ Redis的sentinel系统用于管理多个redis服务器,该系统主要执行三个任务:监控、提醒、自动故障转移。 ※ Redis的主为读写模式,从为只读模式; ※ Redis的更多参数介绍参考本人其他相关文档★ 相关文章
※ ※ ※ ※★ 配置主从
※ 复制配置文件 cp /soft/redis-4.0.2/redis.conf /soft/redis-4.0.2/redis_6380.conf cp /soft/redis-4.0.2/redis.conf /soft/redis-4.0.2/redis_6381.conf cp /soft/redis-4.0.2/redis.conf /soft/redis-4.0.2/redis_6382.conf※ 修改配置文件(主)
# 相关文件位置:/soft/redis-4.0.2/redis_6380.conf # 修改主从端口:port sed -i 's/^port 6379/port 6380/g' /soft/redis-4.0.2/redis_6380.conf cat /soft/redis-4.0.2/redis_6380.conf |grep "^port 63" # 修改主从进程:pidfile sed -i 's/redis_6379.pid/redis_6380.pid/g' /soft/redis-4.0.2/redis_6380.conf cat /soft/redis-4.0.2/redis_6380.conf |grep "redis_6380.pid"※ 修改配置文件(从A)
# 相关文件位置:/soft/redis-4.0.2/redis_6381.conf # 修改主从端口:port sed -i 's/^port 6379/port 6381/g' /soft/redis-4.0.2/redis_6381.conf cat /soft/redis-4.0.2/redis_6381.conf |grep "^port 63" # 修改主从进程:pidfile sed -i 's/redis_6379.pid/redis_6381.pid/g' /soft/redis-4.0.2/redis_6381.conf cat /soft/redis-4.0.2/redis_6381.conf |grep "redis_6381.pid" # 修改从的slaveof指向主 echo "slaveof 127.0.0.1 6380" >> /soft/redis-4.0.2/redis_6381.conf cat /soft/redis-4.0.2/redis_6381.conf |grep "^slaveof"※ 修改配置文件(从B)
# 相关文件位置:/soft/redis-4.0.2/redis_6382.conf # 修改主从端口:port sed -i 's/^port 6379/port 6382/g' /soft/redis-4.0.2/redis_6382.conf cat /soft/redis-4.0.2/redis_6382.conf |grep "^port 63" # 修改主从进程:pidfile sed -i 's/redis_6379.pid/redis_6382.pid/g' /soft/redis-4.0.2/redis_6382.conf cat /soft/redis-4.0.2/redis_6382.conf |grep "redis_6382.pid" # 修改从的slaveof指向主 echo "slaveof 127.0.0.1 6380" >> /soft/redis-4.0.2/redis_6382.conf cat /soft/redis-4.0.2/redis_6382.conf |grep "^slaveof" ★ 启动主从 # 需要开启3个会话,分别执行挂起 /soft/redis-4.0.2/src/redis-server /soft/redis-4.0.2/redis_6380.conf /soft/redis-4.0.2/src/redis-server /soft/redis-4.0.2/redis_6381.conf /soft/redis-4.0.2/src/redis-server /soft/redis-4.0.2/redis_6382.conf ★ 查看状态 echo "info replication" | /soft/redis-4.0.2/src/redis-cli -p 6380 echo "info replication" | /soft/redis-4.0.2/src/redis-cli -p 6381 echo "info replication" | /soft/redis-4.0.2/src/redis-cli -p 6382 ★ 测试数据传输 echo "set zzt_01 'hello zzt'" | /soft/redis-4.0.2/src/redis-cli -p 6380 echo "get zzt_01" | /soft/redis-4.0.2/src/redis-cli -p 6380 echo "get zzt_01" | /soft/redis-4.0.2/src/redis-cli -p 6381 echo "get zzt_01" | /soft/redis-4.0.2/src/redis-cli -p 6382 echo "del zzt_01" | /soft/redis-4.0.2/src/redis-cli -p 6380 echo "get zzt_01" | /soft/redis-4.0.2/src/redis-cli -p 6380 ★ 测试从节点自动重启 该模式下,从节点重启后会自动加入主从,并且会自动同步主库数据 ★ 测试主节点自动重启 从节点会一直等待主节点的重启,待主节点启动后自动加入,恢复往常 该模式需要手动切换主从,所以一般推荐使用自动管理的哨兵模式 ★ 手动主从切换 # 当前状态 从:6380 从:6381 主:6382 # 目标状态 主:6380 从:6381 宕:6382 # 停止主库,设立新主,从库重定向 echo "shutdown" | /soft/redis-4.0.2/src/redis-cli -p 6382 echo "slaveof no one" | /soft/redis-4.0.2/src/redis-cli -p 6380 echo "slaveof 127.0.0.1 6380" | /soft/redis-4.0.2/src/redis-cli -p 6381 ★ 案例[root@main src]# echo "info replication" | /soft/redis-4.0.2/src/redis-cli -p 6380# Replicationrole:masterconnected_slaves:2slave0:ip=127.0.0.1,port=6381,state=online,offset=28,lag=0slave1:ip=127.0.0.1,port=6382,state=online,offset=28,lag=1master_replid:348f1968b30ca05ef20ae66920fd9c92679af2bfmaster_replid2:0000000000000000000000000000000000000000master_repl_offset:28second_repl_offset:-1repl_backlog_active:1repl_backlog_size:1048576repl_backlog_first_byte_offset:1repl_backlog_histlen:28[root@main src]# echo "info replication" | /soft/redis-4.0.2/src/redis-cli -p 6381# Replicationrole:slavemaster_host:127.0.0.1master_port:6380master_link_status:upmaster_last_io_seconds_ago:2master_sync_in_progress:0slave_repl_offset:28slave_priority:100slave_read_only:1connected_slaves:0master_replid:348f1968b30ca05ef20ae66920fd9c92679af2bfmaster_replid2:0000000000000000000000000000000000000000master_repl_offset:28second_repl_offset:-1repl_backlog_active:1repl_backlog_size:1048576repl_backlog_first_byte_offset:1repl_backlog_histlen:28[root@main src]# echo "info replication" | /soft/redis-4.0.2/src/redis-cli -p 6382# Replicationrole:slavemaster_host:127.0.0.1master_port:6380master_link_status:upmaster_last_io_seconds_ago:2master_sync_in_progress:0slave_repl_offset:28slave_priority:100slave_read_only:1connected_slaves:0master_replid:348f1968b30ca05ef20ae66920fd9c92679af2bfmaster_replid2:0000000000000000000000000000000000000000master_repl_offset:28second_repl_offset:-1repl_backlog_active:1repl_backlog_size:1048576repl_backlog_first_byte_offset:1repl_backlog_histlen:28[root@main src]#
※ 如果您觉得文章写的还不错, 别忘了在文末给作者点个赞哦 ~
over
转载地址:https://blog.csdn.net/zzt_2009/article/details/114395196 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2024年04月17日 04时47分51秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
什么是反射&反射的8个类的用法
2019-04-29
Spring IOC流程源码分析
2019-04-29
SpringIOC、DI、AOP、MVC总结、时序图
2019-04-29
spring循环依赖及解决方法
2019-04-29
Unity之C#学习笔记(0):环境配置与上手 HelloWorld
2019-04-29
高并发高可用秒杀系统(一)
2019-04-29
php如何将base64数据流文件转换为图片文件?
2019-04-29
JavaScript 的addEventListener() 事件监听详解!
2019-04-29
JavaScript的DOMContentLoaded事件和load的区别?
2019-04-29
PHP+JavaScript实现图片预览上传功能开发!
2019-04-29
JSONView - Chrome插件安装详解!(谷歌浏览器插件)!
2019-04-29
上传图片到阿里云OSS和获取上传图片的url的详解 !
2019-04-29
webstorm 和 phpstorm 有什么区别呢?做 WEB 开发用哪个好?
2019-04-29
常见位运算
2019-04-29
Linux入门?别怕你学不会用户管理,这也太简单了!
2019-04-29
Crispr-cas9实验操作指南
2019-04-29
荧光标记肿瘤细胞-让肿瘤细胞无处遁形
2019-04-29
用荧光素酶基因标记肿瘤细胞的实验步骤
2019-04-29
LONZA骨髓单个核细胞BMNC使用说明
2019-04-29