Keepalived安装部署

九月2年前技术文章853


安装keepalived

yum 安装keepalived

yum install keepalived

keepalived.conf配置文件进行调整,其中state设置主备状态,interface设置对应网络接口类型,priority设置优先级,备节点数字小于master节点,数字越大优先级越高。virtual_ipaddress设置虚拟IP地址,track_script设置读取检查脚本的方法,在方法中配置对应脚本位置。

image.png

主节点cdp01修改配置文件keepalived.conf为

! Configuration File for keepalived

global_defs {
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 60
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    track_script {
        check_haproxy
    }
    virtual_ipaddress {
        10.60.1.21/32
    }
}

vrrp_script check_haproxy {
  script "/etc/keepalived/haproxy_check.sh"
  interval 2
}

备节点cdp02修改配置文件keepalived.conf为

! Configuration File for keepalived

global_defs {
}

vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 60
    priority 50
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    track_script {
        check_haproxy
    }
    virtual_ipaddress {
        10.60.1.21/32
    }
}

vrrp_script check_haproxy {
  script "/etc/keepalived/haproxy_check.sh"
  interval 2
}

设置haproxy检查脚本haproxy_check.sh,赋予可执行权限

#!/bin/bash 
HAPROXY_STATUS=`ps -C haproxy --no-header | wc -l`
if [[ $HAPROXY_STATUS -eq 0 ]];then
  date >> /etc/keepalived/haproxy_check.log
  echo "haproxy is not running" >> /etc/keepalived/haproxy_check.log
  exit 1
fi

keepalived设置开机自启

systemctl enable keepalived
systemctl start keepalived
systemctl status keepalived

最终keepalived配置文件为

主节点

! Configuration File for keepalived                            
                            
global_defs {                            
script_user root                            
}                            
                            
vrrp_script chk_haproxy {                            
  script "/etc/keepalived/haproxy_check.sh"                            
  interval 2                            
  user root                            
}                            
                            
vrrp_instance VI_1 {                            
    state MASTER                            
    interface eth0
    virtual_router_id 60
    priority 100
#    nopreempt  #不抢占 ,back节点配置
    advert_int 1
    unicast_src_ip  10.60.1.1
    unicast_peer {
10.168.54.100
    }
    authentication {
auth_type PASS
auth_pass 1111
    }
    track_script {
chk_haproxy
    }
    virtual_ipaddress {
10.60.1.21/32 dev eth0 label eth0:1
#10.168.54.105/32 dev eth0 label eth0:2
    }
}

备节点

! Configuration File for keepalived

global_defs {
script_user root
}
vrrp_script chk_haproxy {
  script "/etc/keepalived/haproxy_check.sh"
  interval 2
  user root
}

vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 60
    priority 50
    nopreempt
    advert_int 1
    unicast_src_ip  10.168.54.101
    unicast_peer {
10.60.1.1
    }
    authentication {
auth_type PASS
auth_pass 1111
    }
    track_script {
chk_haproxy36,546%
    }
    virtual_ipaddress {
10.60.1.21/32
    }
}

Faq:

Q1:keepalived两个节点出现脑裂现象(双vip)

A:在配置文件中添加如下配置后,重启keepalived服务

unicast_src_ip  10.11.4.187         ##source ip
    unicast_peer {
            10.11.4.186               ##dest ip
    }

Q2:keepalived在haproxy挂掉之后无法进行VIP的切换

cdp01中的haproxy挂掉之后,cdp01中查看IP地址,VIP还存在于cdp01中。

A:修改配置文件为

图2.png

因为原先用的默认用户keepalived_script,这个主机中没有该用户。替换成root,把脚本方法提上来,VIP可以正常切换。


标签: 大数据运维

相关文章

CDH时钟同步问题

CDH时钟同步问题

首先执行如下命令:查看chronyd是否启动systemctl status chronyd如果没启动执行如下命令启动systemctl restart chronyd每台检查时间状态chronyc...

如何重塑IT运维核心竞争力?可观测运维这么做!

如何重塑IT运维核心竞争力?可观测运维这么做!

随着云计算、大数据、人工智能等新兴技术的兴起及运用,无论是通讯、金融、教育,还是交通、政府、企业等行业,都得到飞速发展,但在高速发展的同时,各行业巨大的 IT 维护和管理成本也在与日俱增,存在监控工具...

dolphinscheduler部署-FAQ

dolphinscheduler部署-FAQ

如果是cdh集群会遇到一个问题5678端口被占用这是因为cdh的agent用了5678那我们改下配置文件文件:/opt/apache-dolphinscheduler-3.1.8-bin/st...

ES运维(七)添加sql插件

ES运维(七)添加sql插件

一、概述ElasticSearch安装SQL插件下载地址(中国大佬开发)二、集成sql插件1、下载es-sql插件下载地址: https://github.com/NLPchina/elastics...

Hive删除外部表

Hive删除外部表

删除外部表操作例:1.首先我们创建一个外部表create EXTERNAL table if not exists mgtest(id int, name string)row format deli...

Hive优化之监控(四)

Hive优化之监控(四)

    Hive是大数据领域常用的组件之一,主要是大数据离线数仓的运算,关于Hive的性能调优在日常工作和面试中是经常涉及的一个点,因此掌握一些Hive调优是必...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。