石家庄网站建设价格,公司网站制作苏州,定制网站 多少钱,河北建设人才网官网什么是主从复制#xff1f;
简单的意义上来讲就是一个主人带着几个奴隶#xff0c;奴隶的全部都是主人给他的#xff0c;刚开始的时候奴隶是一无所有#xff0c;是主人将自己的一部分给到奴隶了。因此奴隶翻身了#xff0c;变得有钱了#xff0c;也就是有一定价值了
简单的意义上来讲就是一个主人带着几个奴隶奴隶的全部都是主人给他的刚开始的时候奴隶是一无所有是主人将自己的一部分给到奴隶了。因此奴隶翻身了变得有钱了也就是有一定价值了但是主人能够控制奴隶。能让变得很有money也能让它变得一无所有。 主从复制是指将一台 Redis 服务器主人的数据复制到其他的 Redis 服务器奴隶 主人服务器被称为主节点英文名叫master / leader奴隶称为从节点slave / follower。 注意这里的复制是单向的只能够从主节点复制数据到子节点 主节点master主要是以写为主子节点slave主要一读为主 主页点可以拥有多个子节点但是子节点却只能拥有一个主节点 在通常的情况下每个Redis服务器都是主节点 为什么要使用主从复制
1数据冗余它可以实现数据的热备份是持久化的一种数据方式
2故障恢复当主节点出现问题时可以由从节点提供服务实现快速的故障恢复。这也是一种服务的冗余。
3负载均衡在主从复制的基础上配合读写分离可以由主节点提供写服务由从节点提供读服务分担服务器负载。尤其是在写少读多的场景下通过多个从节点分担读负载可以大大提高 Redis 服务器的并发量。
4高可用主从复制是哨兵和集群能够实施的基础因此说主从复制是 Redis 高可用的基础。
一般来说要将 Redis 运用于工程项目中只使用一台 Redis 是万万不能的原因如下 结构上单个 Redis 服务器会发生单点故障并且一台服务器需要处理所有的请求负载压力较大。 容量上单个 Redis 服务器内存容量有限一般来说单台 Redis 最大使用内存不应该超过 20G。
环境搭建
搭建集群环境
复制几个配置文件 [rootlocalhost myc]# ls redis79.conf redis80.conf redis81.conf redis82.conf 这四个文件一个是主三个是从
每个几点都有自己端口号和配置
修改配置文件
redis79.conf
一端口号 2 开启后台运行 3修改持久化RDB文件名称 4修改日志文件名称 5修改pid文件名称 其他的三个配置文件也是如此
redis6380.conf daemonize yes port 6380 pidfile /var/run/redis_6380.pid logfile 6380.log dbfilename dump6380.rdb redis6381.conf daemonize yes port 6381 pidfile /var/run/redis_6381.pid logfile 6381.log dbfilename dump6381.rdb redis6382.conf daemonize yes port 6382 pidfile /var/run/redis_6381.pid logfile 6382.log dbfilename dump6382.rdb 打开4个客户端分 在各个客户端界面通过4个配置文件启动redis服务 页面一 [rootlocalhost redis]# ./bin/redis-server ./myc/redis79.conf 页面二 [rootlocalhost redis]# ./bin/redis-server ./myc/redis80.conf 页面三 [rootlocalhost redis]# ./bin/redis-server ./myc/redis81.conf 页面四 [rootlocalhost redis]# ./bin/redis-server ./myc/redis82.conf 看一下是否生成日志文件 查看开启的服务 环境搭建完成 前面有一句话提到过每台redis服务器都是主节点
登录不同端口的客户端查看一下信息是否为主节点
79端口主节点 代码含义 127.0.0.1:6379 info replication 查看主从复制信息 # Replication role:master 角色为主节点 connected_slaves:0 连接的子节点个数为0 master_failover_state:no-failover //剩下的都是一些配置信息 master_replid:aacf4caa93481ac43819eebbb266d8230b85d34f master_replid2:0000000000000000000000000000000000000000 master_repl_offset:0 second_repl_offset:-1 repl_backlog_active:0 repl_backlog_size:1048576 repl_backlog_first_byte_offset:0 repl_backlog_histlen:0 查看其他节点的主从复制信息都与79端口配置相同
一主三从
默认的配置为一主三从
主节点不需要进行配置只需要配置子节点即可子节点配置也很简单只需要找到靠山就行
对安装的配置进行配置一主79端口号三从808182端口号
认主 127.0.0.1:6380 SLAVEOF 127.0.0.1 6379 80端口认主成功 OK 127.0.0.1:6380 查看主从复制配置信息
80端口 127.0.0.1:6380 INFO replication # Replication role:slave 角色为从机 master_host:127.0.0.1 主节点的ip master_port:6379 主节点的端口号 master_link_status:up master_last_io_seconds_ago:8 master_sync_in_progress:0 slave_read_repl_offset:84 slave_repl_offset:84 slave_priority:100 slave_read_only:1 replica_announced:1 connected_slaves:0 master_failover_state:no-failover master_replid:a2634fdf22a44fd46f3e73f78f0abed72b78b35e master_replid2:0000000000000000000000000000000000000000 master_repl_offset:84 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:15 repl_backlog_histlen:70 127.0.0.1:6380 查看主节点配置信息 127.0.0.1:6379 INFO replication # Replication role:master 角色为主节点 connected_slaves:1 一个子节点 slave0:ip127.0.0.1,port6380,stateonline,offset350,lag1 子节点配置信息 master_failover_state:no-failover master_replid:a2634fdf22a44fd46f3e73f78f0abed72b78b35e master_replid2:0000000000000000000000000000000000000000 master_repl_offset:350 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1 repl_backlog_histlen:350 127.0.0.1:6379 接下来将其他的两个子节点进行认主 127.0.0.1:6381 SLAVEOF 127.0.0.1 6379 OK 127.0.0.1:6381 127.0.0.1:6382 SLAVEOF 127.0.0.1 6379 OK 127.0.0.1:6382 查看主节点主从复制配置信息 127.0.0.1:6379 INFO replication # Replication role:master connected_slaves:3 三个子节点 slave0:ip127.0.0.1,port6380,stateonline,offset588,lag1 子节点配置信息 slave1:ip127.0.0.1,port6381,stateonline,offset588,lag1 slave2:ip127.0.0.1,port6382,stateonline,offset588,lag0 master_failover_state:no-failover master_replid:a2634fdf22a44fd46f3e73f78f0abed72b78b35e master_replid2:0000000000000000000000000000000000000000 master_repl_offset:588 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1 repl_backlog_histlen:588 127.0.0.1:6379 这里的主从复制配置是通过命令行进行配置的这只是暂时的具体的配置是通过配置文件进行配置的。
打开redis80.conf配置文件 配置修改为 replicaof 127.0.0.1 6379 只需要将三个从节点的配置文件配置成这样即可。
在主节点的进行写的操作创建一个key 通过从机是否能够查看主节点创建的key 前面就提到过主节点的主要功能为写操作而子节点的主要的功能为读操作所以子节点是一定义访问主节点创建的内容如果子节点没有访问到主节点创建的内容说明您的配置出现了问题。
子节点1能够访问到主节点创建的key值但是子节点的权限只有读的权限却没有写的权限所以当子节点创建key时就会报错read only 只有读的权限。 其他的节点也是如此这里就不进行一一展示了。 如果当主机出现了问题宕机等问题导致主节点断掉了会出现什么状况
断掉主节点 子节点正常使用与主节点没断掉一样对他没有任何的影响
查看配置显示主节点关机关于主从复制的配置并没有发生任何的变化 主节点重连保留宕机前创建的key值因为子节点保留主节点的内容并且能够正常使用
重连后关于主从复制的内容并没有发生任何改变。正常使用 那如果子节点宕机了呢
1保留之前主节点创建的内容
2重新启动后身份发生了变化不在是从机而变成主机与前面的主机没有了任何的关系
3宕机后如果主机创建了新的内容宕机的子节点不会获取到原因为2
4身份转变为主机拥有主节点的所有权限 层层链路 按照下图进行配置 79端口号只有一个子节点本身角色为主节点 80端口号它的主节点为79端口号并且它拥有一个端口号为81的子节点它的身份为子节点 81端口号与80端口的配置差不多除了主节点和子节点不同剩下的都差不多 82端口号本身角色为字节点拥有一个主节点 如果其中一个假设80端口号闹独立想要当老大不想依附在任何人身上通过命令该怎么实现 127.0.0.1:6380 SLAVEOF no one OK 80端口号独立要当老大
角色为主节点连接的子节点还是之前的那一个小弟还是那个小弟
查看一下79端口的配置
小弟给别人走了光杆司令 当然也可以重新认主还是给初次认主一样即可。
注意上面关于主从复制的命令行代码都是暂时的重新启动所有的配置的都会丢失如果想要永久的配置从开启服务的配置文件进行配置前面提到过。 文章转载自: http://www.morning.knswz.cn.gov.cn.knswz.cn http://www.morning.jyznn.cn.gov.cn.jyznn.cn http://www.morning.nnjq.cn.gov.cn.nnjq.cn http://www.morning.rtlrz.cn.gov.cn.rtlrz.cn http://www.morning.lhptg.cn.gov.cn.lhptg.cn http://www.morning.nbmyg.cn.gov.cn.nbmyg.cn http://www.morning.tmcmj.cn.gov.cn.tmcmj.cn http://www.morning.ftlgy.cn.gov.cn.ftlgy.cn http://www.morning.rzdpd.cn.gov.cn.rzdpd.cn http://www.morning.srgsb.cn.gov.cn.srgsb.cn http://www.morning.ybnps.cn.gov.cn.ybnps.cn http://www.morning.tftw.cn.gov.cn.tftw.cn http://www.morning.tgbx.cn.gov.cn.tgbx.cn http://www.morning.pkfpl.cn.gov.cn.pkfpl.cn http://www.morning.fmrrr.cn.gov.cn.fmrrr.cn http://www.morning.yrmpz.cn.gov.cn.yrmpz.cn http://www.morning.zxcny.cn.gov.cn.zxcny.cn http://www.morning.cyhlq.cn.gov.cn.cyhlq.cn http://www.morning.qhvah.cn.gov.cn.qhvah.cn http://www.morning.lpppg.cn.gov.cn.lpppg.cn http://www.morning.sbyhj.cn.gov.cn.sbyhj.cn http://www.morning.hxwhyjh.com.gov.cn.hxwhyjh.com http://www.morning.rwbh.cn.gov.cn.rwbh.cn http://www.morning.yqqxj26.cn.gov.cn.yqqxj26.cn http://www.morning.tgbx.cn.gov.cn.tgbx.cn http://www.morning.bqmsm.cn.gov.cn.bqmsm.cn http://www.morning.rttp.cn.gov.cn.rttp.cn http://www.morning.qczpf.cn.gov.cn.qczpf.cn http://www.morning.rnmc.cn.gov.cn.rnmc.cn http://www.morning.swbhq.cn.gov.cn.swbhq.cn http://www.morning.gppqf.cn.gov.cn.gppqf.cn http://www.morning.fkmrj.cn.gov.cn.fkmrj.cn http://www.morning.wbqt.cn.gov.cn.wbqt.cn http://www.morning.swsrb.cn.gov.cn.swsrb.cn http://www.morning.kcxtz.cn.gov.cn.kcxtz.cn http://www.morning.ljjph.cn.gov.cn.ljjph.cn http://www.morning.fcwb.cn.gov.cn.fcwb.cn http://www.morning.hzqjgas.com.gov.cn.hzqjgas.com http://www.morning.yjknk.cn.gov.cn.yjknk.cn http://www.morning.qqhfc.cn.gov.cn.qqhfc.cn http://www.morning.fy974.cn.gov.cn.fy974.cn http://www.morning.kchwr.cn.gov.cn.kchwr.cn http://www.morning.ggnjq.cn.gov.cn.ggnjq.cn http://www.morning.lcxdm.cn.gov.cn.lcxdm.cn http://www.morning.dkslm.cn.gov.cn.dkslm.cn http://www.morning.xrhst.cn.gov.cn.xrhst.cn http://www.morning.rmxk.cn.gov.cn.rmxk.cn http://www.morning.zcsyz.cn.gov.cn.zcsyz.cn http://www.morning.skdrp.cn.gov.cn.skdrp.cn http://www.morning.nuobeiergw.cn.gov.cn.nuobeiergw.cn http://www.morning.dydqh.cn.gov.cn.dydqh.cn http://www.morning.bwttj.cn.gov.cn.bwttj.cn http://www.morning.dmwjl.cn.gov.cn.dmwjl.cn http://www.morning.egmux.cn.gov.cn.egmux.cn http://www.morning.qsyyp.cn.gov.cn.qsyyp.cn http://www.morning.tkchm.cn.gov.cn.tkchm.cn http://www.morning.nrzbq.cn.gov.cn.nrzbq.cn http://www.morning.pqypt.cn.gov.cn.pqypt.cn http://www.morning.qhmgq.cn.gov.cn.qhmgq.cn http://www.morning.nwbnt.cn.gov.cn.nwbnt.cn http://www.morning.wbrf.cn.gov.cn.wbrf.cn http://www.morning.brkc.cn.gov.cn.brkc.cn http://www.morning.wfzlt.cn.gov.cn.wfzlt.cn http://www.morning.qlpyn.cn.gov.cn.qlpyn.cn http://www.morning.rnpt.cn.gov.cn.rnpt.cn http://www.morning.nnpfz.cn.gov.cn.nnpfz.cn http://www.morning.sypzg.cn.gov.cn.sypzg.cn http://www.morning.knjj.cn.gov.cn.knjj.cn http://www.morning.bpwdc.cn.gov.cn.bpwdc.cn http://www.morning.gbnsq.cn.gov.cn.gbnsq.cn http://www.morning.yfrbn.cn.gov.cn.yfrbn.cn http://www.morning.nbrdx.cn.gov.cn.nbrdx.cn http://www.morning.rtsx.cn.gov.cn.rtsx.cn http://www.morning.sfphz.cn.gov.cn.sfphz.cn http://www.morning.rqgjr.cn.gov.cn.rqgjr.cn http://www.morning.grcfn.cn.gov.cn.grcfn.cn http://www.morning.bljcb.cn.gov.cn.bljcb.cn http://www.morning.glxmf.cn.gov.cn.glxmf.cn http://www.morning.rxnl.cn.gov.cn.rxnl.cn http://www.morning.nrlsg.cn.gov.cn.nrlsg.cn