美文网首页
redis主从复制和哨兵机制

redis主从复制和哨兵机制

作者: 不给起这个名字 | 来源:发表于2019-07-18 16:41 被阅读0次

    主从复制

    Redis主从复制作用:数据备份,读写分离,集群,高可用,宕机容错机制
    Redis只支持一主(有继承关系) 一主一从(备)或一主多从(备)
    如果主挂机,使用哨兵机制从备机中选举一台主出来。如果所有机都挂了,要使用keepalived脚本重启Redis。
    哨兵机制只能重新选主机器,不能重启。

    Redis自带主从复制的权限控制,主能读和写,从Redis只有读权限。不像mysql需要使用第三方mycat来控制

    配置主从复制 主从redis的密码要一致 启动哨兵时,如果主挂了,再次重启后就要选择后redis的密码才能同步
    主服务器redus配置
    找到# masterauth <master-password> 修成masterauth 123456 -- 用于哨兵机制,如果主挂了,重启后选择出来主机的密码

    从redis配置
    1、克隆从服务器redis,克隆要记得刷新mac地址(网络适配器 NAT 高级)
    2、修改从redis中的redis.conf文件 多个从redis配置也是一样的
    找到# slaveof <masterip> <masterport>的位置 主服务器的ip地址和redis的端号口 如修改成slaveof 192.168.120.128 6379
    找到# masterauth <master-password> 修成masterauth 123456--- 主服务器redis服务器配置了密码,则需要配置

    这样就配置好主从复制了,主有读和写的权限。从只能读

    ./redis-cli -h 127.0.0.1 -p 6379 -a "123456" 进入redis 然后ping 信息pong表示通了,info replication查看信息

    哨兵机制

    哨兵(sentinel)机制 高可用 心跳检测、故障转移(选举策略)、监控
    当主redis挂机,哨兵监听到会从备redis中重新选举一台redis做主机,之前的主redis重新连接后会变成备机

    配置好主从复制之后(1主2从) 哨兵的默认端口26379
    哨兵模式修改配置 。选择任意一台装了redis的机器都可以启动哨兵模式 主要是sentinel.conf配置文件
    安装redis时将sentinel.conf复制到了/usr/local/redis/etc目录

    1、打开 vi sentinel.conf

    2、找到sentinel monitor mymaster 127.0.0.1 6379 2
    修改成 sentinel monitor mymaster 192.168.110.133 6379 1

    主节点名称(随意起) IP(主redis) 端口号(主redis) 哨兵确认数(为1:表示主redis挂了后,至少有1个sentinel(哨兵)确认主节点是挂了,主节点才会被客观认为是挂了 )

    3、找到# sentinel auth-pass <master-name> <password>
    修改成sentinel auth-pass mymaster 123456 #主节点名称,要与上面设置的名称一致 主redis的密码

    4、修改心跳检测 默认30秒
    找到sentinel down-after-milliseconds mymaster 30000
    修改成 sentinel down-after-milliseconds mymaster 30 30毫秒,实时监测

    5、修改sentinel parallel-syncs mymaster 2 --- (现在2个从redis) 指定了在执行故障转移时, 最多可以有多少个从服务器同时对新的主服务器进行同步

    启动哨兵模式
    ./redis-sentinel /usr/local/redis/etc/sentinel.conf --sentinel &

    取消主备。进入redis 后输入命令 slaveof no one

    停止哨兵模式
    ps aux | grep '26379'
    kill -9 端口号

    如果出现异常问题 把redus.conf和sentinel.conf的 #Generated by CONFIG REWRITE(通过配置重写生成) 后面的内容删除

    之前遇到Gemerated和slaveof的内容没空行也会出问题。奇怪

    哨兵模式的缺点:哨兵模式虽然实现了高可用,但在每个节点都会存在相同的数据,数据冗余,每台节点的数据量会很大

    Redis3.0集群方式可以实现数据分片,来缓解每台redis节点的存储压力,还能缓解访问的压力。

    相关文章

      网友评论

          本文标题:redis主从复制和哨兵机制

          本文链接:https://www.haomeiwen.com/subject/osgkkctx.html