zoukankan      html  css  js  c++  java
  • keepalive+redis 增量和全部同步

    1 安装keepalived

    wget http://www.keepalived.org/software/keepalived-1.2.24.tar.gz -P /export1/soft/
    cd /export1/soft/
    tar zxvf keepalived-1.2.24.tar.gz
    cd keepalived-1.2.24
    yum install ipvsadm kernel-devel popt-devel openssl-* -y
    ln -s /usr/src/kernels/2.6.32-696.13.2.el6.x86_64/ /usr/src/linux
    yum update glib* -y
    ./configure --prefix=/usr/local/keepalived
    make
    make install
    cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
    cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
    mkdir -pv /etc/keepalived
    cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
    ln -s /usr/local/keepalived/sbin/keepalived /sbin/
    chmod 755 /etc/init.d/keepalived
    mkdir /etc/keepalived/scripts/
    service keepalived start
    service keepalived stop
    >/etc/keepalived/keepalived.conf

    ###########################################################################

    2 主上边:10.5.2.10 vim /etc/keepalived/keepalived.conf

    global_defs {
    router_id redis1101
    }
    vrrp_script chk_redis {
    script "/etc/keepalived/scripts/redis_check.sh"
    interval 1
    }
    vrrp_instance v_r1 {
    state MASTER
    interface eth0
    #garp_master_delay 10
    virtual_router_id 18
    priority 100
    nopreempt
    advert_int 1
    authentication {
    auth_type PASS
    auth_pass 1111
    }
    virtual_ipaddress {
    10.5.2.18
    }
    track_script {
    chk_redis
    }
    notify_master /etc/keepalived/scripts/redis_master.sh
    notify_backup /etc/keepalived/scripts/redis_slave.sh
    notify_fault /etc/keepalived/scripts/redis_fault.sh
    notify_stop /etc/keepalived/scripts/redis_stop.sh
    }

    ###########################################################

    vim  /etc/keepalived/scripts/redis_check.sh

    #!/bin/bash

    ALIVE=`/usr/local/bin/redis-cli -h 10.5.2.10 PING`

    if [ "$ALIVE" == "PONG" ]; then

    echo $ALIVE

    exit 0

    else

    echo $ALIVE

    exit 1

    fi

    ###########################################################################

    vim  /etc/keepalived/scripts/redis_fault.sh 

    #!/bin/bash
    LOGFILE=/var/log/keepalived-redis-state.log
    echo "[fault]" >> $LOGFILE
    date >> $LOGFILE

    ##########################################################

    vim  /etc/keepalived/scripts/redis_stop.sh 

    #!/bin/bash
    LOGFILE=/var/log/keepalived-redis-state.log
    echo "[stop]" >> $LOGFILE
    date >> $LOGFILE

    #############################################################

    vim /etc/keepalived/scripts/redis_master.sh

    #!/bin/bash
    REDISCLI=/usr/local/bin/redis-cli
    LOGFILE=/var/log/keepalived-redis-state.log
    LOCALIP="10.5.2.10"
    REMOTEIP="10.5.2.11"
    PORT="6379"
    echo "[master]" >> $LOGFILE
    date >> $LOGFILE
    echo "Beging master..." >> $LOGFILE 2>&1
    echo "Run SLAVEOF cmd ..." >> $LOGFILE
    $REDISCLI -h $LOCALIP -p 6379 SLAVEOF $REMOTEIP 6379 >> $LOGFILE 2>&1
    sleep 10
    echo "Run SLAVEOF NO ONE cmd..." >> $LOGFILE
    $REDISCLI -h $LOCALIP -p 6379 SLAVEOF NO ONE >> $LOGFILE 2>&1

    ######################################################################

    vim /etc/keepalived/scripts/redis_slave.sh

    #!/bin/bash
    REDISCLI="/usr/local/bin/redis-cli"
    LOGFILE="/var/log/keepalived-redis-state.log"
    LOCALIP="10.5.2.10"
    REMOTEIP="10.5.2.11"
    PORT="6379"
    echo "[backup]" >> $LOGFILE
    date >> $LOGFILE
    echo "Begingslave..." >> $LOGFILE 2>&1
    sleep15
    echo "Run SLAVEOF cmd...">> $LOGFILE
    $REDISCLI -h $LOCALIP -p 6379 SLAVEOF $REMOTEIP 6379 >> $LOGFILE 2>&1

    ################################################################################

     

     #######################################################################################################

    切换状态

  • 相关阅读:
    ASP.Net请求小周期
    创建型设计模式
    eml文件解析实例,简历信息抓取工具
    Microsoft ReportViewer 控件类型版本兼容问题及解决方法
    WCF IIS 部署错误处理
    如何使Wpf浏览器应用程序被完全信任运行
    Server 2008 r2 多用户远程桌面配置
    The configuration section 'system.serviceModel' cannot be read because it is missing a section decla
    spss C# 二次开发 学习笔记(六)——Spss统计结果的输出
    spss C# 二次开发 学习笔记(二)——Spss以及统计术语解释(IT人眼中的统计术语)
  • 原文地址:https://www.cnblogs.com/qtxdy/p/7754757.html
Copyright © 2011-2022 走看看