• Redis搭建一主一从及哨兵模式(二)


    废话不多说,直接进入正题。

    一、主从搭建

      进入redis的根目录,拷贝一份redis.conf,最初的一份留作模版:

    ①cp  redis.conf redis.conf.template

    ②vim redis.conf(主节点的配置)

    # Redis使用后台模式
    daemonize yes
    # 关闭保护模式
    protected-mode no
    # 注释以下内容开启远程访问
    # bind 127.0.0.1
    # 启动端口为6379
    port 6379
    # 修改pidfile指向路径
    pidfile /home/softwares/redis3.2.11/6379/redis_6379.pid

    ③修改从节点redis配置文件

      与主服务器配置大致相同,唯一需要在配置文件中多添加一行的配置:slaveof 主服务器ip  端口,我这里是slaveof 10.42.41.16 6379,这种方式配置重启redis还是主从关系

      在redis客户端通过slaveof命令挂接只是临时的主从关系,重启redis后会失效。

    ④启动redis服务

      在每个服务器的redis根目录下:redis-server ./redisconf启动redis服务

    ⑤通过redis-cli -c登录每个客户端

      info replication查看角色,此时主从结构已经搭建成功。

    二、哨兵模式

      主从结构搭建完成以后,主节点与从节点的数据是保持一致的,当主节点宕机以后,可以人工手动设置从节点为主节点,其他进来的节点自动设置为从节点。看到这里你会想到什么?万一凌晨1点,主节点宕机了,你还要从被窝爬起来去设置从节点为主节点吗?显然不会,我们通过一个哨兵,也就是一个进程帮我们完成主从节点的替换,我们也就可以睡个好觉了。由于本次是测试环境,使用的是1个哨兵,实际开发中,还是以集群模式为主,本测试环境中的1个哨兵存在单点故障问题。

      进入redis的根目录下:cp sentinel.conf sentinel.conf.template

    ①编辑sentinel.conf

      P15 bind 需要注释掉ip信息不要绑定

      P17 protected-mode no放开,配置no

      P69 sentinel monitor mymaster 127.0.0.1 6379 1

        mymaster这里名称可以自定义

        127.0.0.1这是主服务器redis的ip

        6379 主服务器redis的端口

        1 投票数量,本测试环境只有1个哨兵,所以设置为1

        如果哨兵是集群模式,只需要修改投票数量:集群数量/2+1,注意取整

    ②启动哨兵进程

      redis-sentinel ./sentinel.conf,此时哨兵已经开始监听redis主从结构,并且会做到当主节点宕机,从节点自动晋升为主节点。

    三、测试主从替换

    ①登录客户端

      在主从服务器:redis-cli -c 进入redis的客户端,使用info replication查看主从结构

    ②查看redis进程

      通过ps -ef | grep redis 来查看redis的进程pid

    ③kill -9 主redis的pid

      查看从节点的角色,它会晋升为主节点,当主节点恢复以后会自动成为丛节点。

    ps:本人由于是刚开始接触博客,难免会有不足和错误,写博客只是记录本人在学习和工作的过程中的成长,如有不足,欢迎各位指正,谢谢~

  • 相关阅读:
    20.logging模块
    21.django中间件源码阅读
    18.configparser模块
    15.DRF学习以及相关源码阅读
    19.tcp_upd
    13.关于继承封装,以及反射
    16.html转pdf的一个小示例
    14.django返回展示一张图片
    GridView列标题修改
    ~为服务器端根目录符
  • 原文地址:https://www.cnblogs.com/rmxd/p/11231467.html
Copyright © 2020-2023  润新知