zoukankan      html  css  js  c++  java
  • Redis哨兵集群搭建

    主库不进行持久化,保证数据库的效率,从库进行持久化,进行备份

    1.环境搭建

    IP 主机名 作用
    10.206.132.226 redis01 master,sentnel01
    10.206.132.227 redis02 slave01,sentnel02
    10.206.132.228 redis03 slave02,sentnel03

    2.Redis安装

    参考:Redis安装教程

    3.主从复制搭建

    3.1.修改配置文件

    10.206.132.227,10.206.132.228修改配置文件

    在配置文件Replication部分,添加

    # replicaof <masterip> <masterport>
    replicaof 10.206.132.226 6379
    # masterauth <master-password>
    masterauth monkey
    

    10.206.132.226修改配置文件

    在配置文件Replication部分,添加

    # masterauth <master-password>
    masterauth monkey
    

    3.2.查看配置结果

    info replication

    4.配置哨兵

    4.1.创建哨兵配置文件

    vi sentinel.conf
    ------------------------------------------------
    daemonize yes
    sentinel monitor mymaster 10.206.132.226 6379 2
    sentinel auth-pass mymaster monkey
    logfile /var/log/redis/sentinel.log
    # The following arguments are passed to the script:
    # <master-name> <role> <state> <from-ip> <from-port> <to-ip> <to-port>
    # 在切换的时候,这些参数会传递给切换脚本
    sentinel client-reconfig-script mymaster /usr/local/redis/script/failover_ip.sh
    ------------------------------------------------
    

    mymaster:监听的master的别名

    2:有三个哨兵,两个哨兵客观确认master下线,才可以进行切换

    4.2.设置VIP自动切换

    4.2.1.redis用户授权sudo

    每一个redis服务器都需要增加redis的sudo权限

    echo -e "redis	ALL=(ALL)	NOPASSWD:/sbin/ip,NOPASSWD:/sbin/arping" > /etc/sudoers.d/redis
    
    4.2.2.创建failover脚本
    mkdir -p /usr/local/redis/script
    cd /usr/local/redis/script
    vi failover_ip.sh
    ---------------------------------------------------------------
    #!/bin/bash
    MASTER_IP=${6}
    MY_IP='10.206.132.226'   # local_ip
    VIP='10.206.132.220'     # VIP
    NETMASK='24'             # Netmask
    INTERFACE='enp0s3'       # DEV
    
    if [ ${MASTER_IP} = ${MY_IP} ]; then
            sudo /sbin/ip addr add ${VIP}/${NETMASK} dev ${INTERFACE}
            sudo /sbin/arping -q -c 3 -A ${VIP} -I ${INTERFACE}
            exit 0
    else
            sudo /sbin/ip addr del ${VIP}/${NETMASK} dev ${INTERFACE}
            exit 0
    fi
    exit 1
    ---------------------------------------------------------------
    chmod 755 failover_ip.sh
    

    4.3.打开sentinel

    redis-sentinel sentinel.conf
    

    三台机器sentinel打开后,会自动形成sentinel集群

  • 相关阅读:
    C++ STL中vector应用
    cocos2dx绘制直线
    [ios] 获得ios设备具体型号
    如何制作 iTunesArtwork
    Ios AppIcon 去掉默认半弧形白色遮罩
    App运行内存打印
    C++ 文件操作
    objc 笔记
    (转)c++ oc字符操作
    cocos2dx 文本 优化
  • 原文地址:https://www.cnblogs.com/monkey6/p/14769039.html
Copyright © 2011-2022 走看看