您的位置:首页 > 数据库 > Redis

linux centos 7下实现redis主从复制

2018-02-03 16:01 549 查看
先看安装过程:

http://blog.csdn.net/fyihdg/article/details/79131879


1.        主从复制

      a,方式一、新增redis6380.conf,加入 slaveof192.168.1.1116379, 
在6379启动完后再启6380,完成配置;



      b,方式二、redis-server--slaveof 192.168.1.111 6379

      c,查看状态:inforeplication

      d,断开主从复制:在slave节点,执行6380:>slaveofno one

      e,断开后再变成主从复制:6380:>slaveof 192.168.1.111 6379

      f,数据较重要的节点,主从复制时使用密码验证:requirepass

      e,从节点建议用只读模式slave-read-only=yes,若从节点修改数据,主从数据不一致      

      h,传输延迟:主从一般部署在不同机器上,复制时存在网络延时问题,redis提供repl-disable-tcp-nodelay参数决定是否关闭TCP_NODELAY,默认为关闭

参数关闭时:无论大小都会及时发布到从节点,占带宽,适用于主从网络好的场景,

参数启用时:主节点合并所有数据成TCP包节省带宽,默认为40毫秒发一次,取决于内核,主从的同步延迟40毫秒,适用于网络环境复杂或带宽紧张,如跨机房

 

         2,主从拓扑:支持单层或多层

    A,一主一从:用于主节点故障转移从节点,当主节点的“写”命令并发高且需要持久化,可以只在从节点开启AOF(主节点不需要),这样即保证了数据的安全性,也避免持久化对主节点的影响



   B, 一主多从:针对“读”较多的场景,“读”由多个从节点来分担,但节点越多,主节点同步到多节点的次数也越多,影响带宽,也加重主节点的稳定



C,树状主从:一主多从的缺点(主节点推送次数多压力大)可用些方案解决,

          主节点只推送一次数据到从节点1,再由从节点2推送到11,减轻主节点推送的压力。



 

1.        复制原理

执行slavemaster port后,

与主节点连接,同步主节点的数据,6380:>info replication:查看主从及同步信息



3,数据同步:

redis 2.8版本以上使用psync命令完成同步,过程分“全量”与“部分”复制

全量复制:一般用于初次复制场景(第一次建立SLAVE后全量)

部分复制:网络出现问题,从节占再次连主时,主节点补发缺少的数据,每次                            数据增加同步

心跳:主从有长连接心跳,主节点默认每10S向从节点发ping命令,repl-ping-slave-period控制发送频率

此时目录结构:



redis6380.conf直接是复制redis.conf,只需要在redis6380.conf加上:

slaveof 192.168.177.168 6379


但要注意,要把#requirepass 123456注释了,否则会出现下面问题:



然后依次启动:

./redis-server redis.conf &


./redis-server redis6380.conf &


就可以,是不是很简单?







这样就完成了



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  redis