营销型网站建设价格贵吗,网站友情链接建设,中国十大网络安全公司排名,设计做的好看的网站有哪些是什么
官网地址#xff1a;Redis replication | Redis 其实就是主从复制#xff0c;Master以写为主#xff0c;Slave以读为主#xff0c;当master数据变化的时候#xff0c;自动将新的数据异步同步到其它slave数据库。 能干嘛
读写分离容灾恢复数据备份水平扩容支撑高并…是什么
官网地址Redis replication | Redis 其实就是主从复制Master以写为主Slave以读为主当master数据变化的时候自动将新的数据异步同步到其它slave数据库。 能干嘛
读写分离容灾恢复数据备份水平扩容支撑高并发 如何使用
采用配置方式配从库不配主库
权限细节
master 如果配置了 requirepass 参数需要密码登陆。
那么 slave 就要配置 masterauth 来设置校验密码否则的话 master 会拒绝 slave 的访问请求。 基本操作命令
info replication可以查看复制节点的主从关系和配置信息
replicaof 主库IP 主库端口一般写入进redis..conf配置文件内
slaveof 主库IP 主库端口每次与masterl断开之后都需要重新连接除非你配置进redis.conf文件在运行期间修改slave节点的信息如果该数据库已经是某个主数据库的从数据库那么会停止和原主数据库的同步关系转而和新的主数据库同步重新拜码头
slaveof no one使当前数据库停止与其他数据库的同步转成主数据库自立为王 案例
架构说明 一个Master两个Slave3台虚机每台都安装redis
拷贝多个redis.conf文件redis6379.conf、redis6380.conf、redis6381.conf
小口诀
三边网络相互ping通且注意防火墙配置
三大命令 主从复制replicaof 主库IP 主库端口、配从库不配主库 改换门庭slaveof 新主库IP 新主库端 自立为王slaveof no one
修改配置文件步骤
1.开启daemonize yes 2.注释掉bind 127.0.0.1 3.protected-mode no 4.指定端口 5.指定当前工作目录dir 6.pid文件名字pidfile 7.log文件名字logfile 8.requirepass 9.dump.rdb名字 10.aof文件appendfilename 本步骤可选非必须 11.从机访问主机的通行密码masterauth必须从机需要配置主机不用 完整配置 主节点redis6379.conf 309 daemonize yes 87 # bind127.0.0.1 -::1 111 protected-mode no 138 port 6379 506 dir /myredis 341 pidfile /var/run/redis_6379.pid 354 logfile /myredis/6379.log 1008 requirepass 111111 482 dbfilename dump6379.rdb 启动redis-server /myredis/redis6379.conf 连接redis-cli -a 111111 -p 6379 从节点1redis6380.conf 309 daemonize yes 87 # bind127.0.0.1 -::1 111 protected-mode no 138 port 6380 506 dir /myredis 341 pidfile /var/run/redis_6380.pid 354 logfile /myredis/6380.log 1008 requirepass 111111 482 dbfilename dump6380.rdb 528 replicaof 192.168.241.3 6379 536 masterauth 111111 启动redis-server /myredis/redis6380.conf 连接redis-cli -a 111111 -p 6380 从节点2redis6381.conf 309 daemonize yes 87 # bind127.0.0.1 -::1 111 protected-mode no 138 port 6381 506 dir /myredis 341 pidfile /var/run/redis_6381.pid 354 logfile /myredis/6381.log 1008 requirepass 111111 482 dbfilename dump6381.rdb 528 replicaof 192.168.241.3 6379 536 masterauth 111111 启动redis-server /myredis/redis6381.conf 连接redis-cli -a 111111 -p 6381 常用三招
一主二仆
方案1配置文件固定写死
a、配置文件执行replicaof 主库IP 主库端口
b、配从库不配主库
配置从机6380 配置从机6381 c、先master后两台slave依次启动 d、主从关系查看
日志查看
主机日志如下 备机日志如下 命令查看info replication 问题演示
1.从机可以执行写命令吗 2.从机切入点问题
slave是从头开始复制还是从切入点开始复制?
master启动写到k3slave1跟着master同时启动跟着写到k3slave2写到k3后才启动那之前的是否也可以复制是的首次一锅端后续跟随master写slave跟
3.主机shutdown后从机会上位吗
主机shutdown后情况如何从机是上位还是原地待命
结果从机不动原地待命从机数据可以正常使用等待主机重启动归来。 4.主机shutdown后重启后主从关系还在吗从机还能否顺利复制
可以复制的。 5.某台从机down后master继续从机重启后它能跟上大部队吗
结果能。
方案2命令操作手动指定
a、从机停机去掉配置文件中的配置项3台目前都是主机状态各不从属 b、3台master c、预设的从机上执行命令slaveof 主库IP 主库端口 d、用命令使用的话2台从机重启后关系还在吗
结果不在。 配置VS命令的区别当堂试验讲解
命令当次生效配置持久稳定
薪火相传
上一个slave可以是下一个slave的masterslave同样可以接收其他slaves的连接和同步请求那么该slave作为了链条中下一个的master可以有效减轻主masterl的写压力。
中途变更转向会清除之前的数据重新建立拷贝最新的
命令slaveof 新主库IP 新主库端口
反客为主
命令slaveof no one
使当前数据库停止与其他数据库的同步转成注数据库 复制原理和工作流程
slave启动同步初请
slave启动成功连接到master后会发送一个sync命令。
slave首次全新连接master一次完全同步全量复制将被自动执行slave自身原有数据会被master数据覆盖清除。
首次连接全量复制
master节点收到sync命令后会开始在后台保存快照即RDB持久化主从复制时会触发RDB同时收集所有接收到的用于修改数据集命令缓存起来master节点执行RDB持久化完后master将rdb快照文件和所有缓存的命令发送到所有slave以完成一次完全同步。
而slave服务在接收到数据库文件数据后将其存盘并加载到内存中从而完成复制初始化。
心跳持续保持通信
配置文件repl-ping-replica-period 10
master发出PING包的周期默认是10秒 进入平稳增量复制
Master继续将新的所有收集到的修改命令自动依次传给slave完成同步。
从机下线重连续传
master会检查backlog里面的offset,masteri和slave都会保存一个复制的offset还有一个masterIdoffset是保存在packlog中的。Master只会把已经复制的offset)后面的数据复制给Slave,类似断点续传。 复制的缺点
复制延时信号衰减
由于所有的写操作都是先在Master上操作然后同步更新到Slave上所以从Master同步到Slave机器有一定的延迟当系统很繁忙的时候延迟问题会更加严重Slave机器数量的增加也会使这个问题更加严重。 master挂了如何办
默认情况下不会在slave节点中自动重选一个master
那每次都要人工干预
是的解决方案是加入哨兵。