zoukankan      html  css  js  c++  java
  • lvs+keepalived搭建双机主从架构

    安装nginx:
    yum install gcc-c++
    yum install -y pcre pcre-devel
    yum install -y zlib zlib-devel
    yum install -y openssl openssl-devel

    保证nginx 可以正常访问:

    我这里129 跟 146 如下:

    安装keepalived:
    1.安装基础必备包.
    yum install popt-devel
    2. 编译.
    tar -zxvf keepalived-1.2.15.tar.gz -C /usr/local/
    cd keepalived-1.2.15/ && ./configure --prefix=/usr/local/keepalived
    make && make install
    
    3.配置相关文件
    mkdir /etc/keepalived
    cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
    cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
    cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
    ln -s /usr/local/sbin/keepalived /usr/sbin/
    ln -s /usr/local/keepalived/sbin/keepalived /sbin/
    4.
    vim /etc/keepalived/keepalived.conf
    
    master:
    
    vrrp_script chk_nginx {
        script "/etc/keepalived/nginx_check.sh" #运行脚本,脚本内容下面有,就是起到一个nginx宕机以后,自动开启服务
        interval 2 #检测时间间隔
        weight -20 #如果条件成立的话,则权重 -20
    }
    # 定义虚拟路由,VI_1 为虚拟路由的标示符,自己定义名称
    vrrp_instance VI_1 {
        state MASTER #来决定主从
        interface eth0 # 绑定虚拟 IP 的网络接口,根据自己的机器填写
        virtual_router_id 121 # 虚拟路由的 ID 号, 两个节点设置必须一样
        mcast_src_ip 192.168.139.129 #填写本机ip
        priority 100 # 节点优先级,主要比从节点优先级高
        nopreempt # 优先级高的设置 nopreempt 解决异常恢复后再次抢占的问题
        advert_int 1 # 组播信息发送间隔,两个节点设置必须一样,默认 1s
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        # 将 track_script 块加入 instance 配置块
        track_script {
            chk_nginx #执行 Nginx 监控的服务
        }
    
        virtual_ipaddress {
            192.168.139.110 # 虚拟ip,也就是解决写死程序的ip怎么能切换的ip,也可扩展,用途广泛。可配置多个 前三位必须跟服务器保持一致。
        }
    }
    
    service keepalived start 启动无报错则安装keepalived成功:

    backup:
    
    vrrp_script chk_nginx {
        script "/etc/keepalived/nginx_check.sh" #运行脚本,脚本内容下面有,就是起到一个nginx宕机以后,自动开启服务
        interval 2 #检测时间间隔
        weight -20 #如果条件成立的话,则权重 -20
    }
    # 定义虚拟路由,VI_1 为虚拟路由的标示符,自己定义名称
    vrrp_instance VI_1 {
        state BACKUP #来决定主从
        interface eth2 # 绑定虚拟 IP 的网络接口,根据自己的机器填写
        virtual_router_id 121 # 虚拟路由的 ID 号, 两个节点设置必须一样
        mcast_src_ip 192.168.139.129 #填写本机ip
        priority 100 # 节点优先级,主要比从节点优先级高
        nopreempt # 优先级高的设置 nopreempt 解决异常恢复后再次抢占的问题
        advert_int 1 # 组播信息发送间隔,两个节点设置必须一样,默认 1s
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        # 将 track_script 块加入 instance 配置块
        track_script {
            chk_nginx #执行 Nginx 监控的服务
        }
    
        virtual_ipaddress {
            192.168.139.110 # 虚拟ip,也就是解决写死程序的ip怎么能切换的ip,也可扩展,用途广泛。可配置多个 前三位必须跟服务器保持一致。
        }
    }

    keepalived 常用命令 service keepalived start service keepalived stop 1.实现效果 通过配置的虚拟vip ip访问能访问到主节点nginx

    主节点有vip ip 110 从节点无
    

      

    3:重启主节点  主节点可以看到vip ip 需要等待几秒钟
    

     

     

    至此 双击主从热备架构搭建完成(一主一从nginx)

    通过keeplived 生成的vip ip 访问nginx 再由nginx 访问 真正Tomcat集群
    正常情况下不会方位从(BACKUP)只有当主节点(MASTER挂了之后才能访问)

      

  • 相关阅读:
    String.Format( )用法
    Androidstudio中添加jar包的方法
    Qt SQLite 批量插入优化(SQLite默认将每条语句看成单独的事务)good
    aravel 之父 Taylor Otwell :我是如何工作的
    【码云周刊第 22 期】GO :互联网时代的 C 语言!
    2017 JavaScript 开发者的学习图谱
    【码云周刊第 29 期】构建高性能微服务架构
    SOA和微服务
    NET Core Web 应用部署到 Docker 中运行
    Expression Trees
  • 原文地址:https://www.cnblogs.com/coderdxj/p/12301433.html
Copyright © 2011-2022 走看看