美文网首页
redis 哨兵模式

redis 哨兵模式

作者: 小小的小帅 | 来源:发表于2020-11-01 17:28 被阅读0次

    redis下载安装

    #下载
        cd /usr/local/src
        wget http://download.redis.io/releases/redis-5.0.5.tar.gz
    #解压:
        tar -zxvf redis-5.0.5,tar.gz
    复制redis 到/usr/local下
        cp -r redis-5.0.5 /usr/local/redis
        cd /usr/local/redis
    #编译,好到这里为止
        make
        make install
    
    1. 如果make报错则,查看gcc版本
      gcc -v
    2. centos7默认版本为4.8.5
      而redis6.0+需要的gcc版本为5.3及以上,所以升级gcc即可
    //升级gcc到9以上
    yum -y install centos-release-scl
    yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
    

    还需要执行命令

    //临时将此时的gcc版本改为9
    scl enable devtoolset-9 bash
    //或永久改变
    echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
    
    1. 查看gcc版本


      image.png
    2. Redis设置合理的maxmemory, 保证机器有20%~30%的闲置内存。
      集中化管理AOF重写和RDB的bgsave。
      设置vm.overcommit_memory=1, 防止极端情况下会造成fork失败
    vi /etc/sysctl.conf
    vm.overcommit_memory=1
    net.core.somaxconn= 1024
    临时生效
    sysctl vm.overcommit_memory=1
    
    

    redis哨兵模式

    主redis.conf

    # 使得Redis服务器可以跨网络访问
    bind 0.0.0.0
    # 设置密码
    requirepass "123456"
    

    从redis.conf

    # 使得Redis服务器可以跨网络访问
    bind 0.0.0.0
    # 设置密码
    requirepass "123456"
    # 指定主服务器,注意:有关slaveof的配置只是配置从服务器,主服务器不需要配置
    slaveof 192.168.3.34 6379
    # 主服务器密码,注意:有关slaveof的配置只是配置从服务器,主服务器不需要配置
    masterauth 123456
    

    每个哨兵的配置都是一样的
    vi sentinel.conf

    # 禁止保护模式,外网可访问
    protected-mode no
    # 配置监听的主服务器
    sentinel monitor mymaster 192.168.3.34 6379 2
    # 主服务器密码
    sentinel auth-pass mymaster 123456
    

    当master异常情况后:

    当主服务器宕机,此时将6379的端口关闭后,sentinel会自动将最可够的从节点中选出作为主服务器,当然相关的redis.conf\sentinel.conf配置文件也会被相应修改

    查看

    ./redis-cli -h 192.168.3.35 -p 6379
    auth 123456
    info replication


    image.png

    命令后将看见它的role从原来的slave变为master;

    相关文章

      网友评论

          本文标题:redis 哨兵模式

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