Keepalived安装部署

九月2年前技术文章939


安装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可以正常切换。


标签: 大数据运维

相关文章

使用Sqoop将数据从Hive导入MySQL(一)

使用Sqoop将数据从Hive导入MySQL(一)

使用Sqoop将数据从Hive导入MySQL首先查看csv数据类型创建类似的hive表并导入数据CREATE TABLE data (    province STRING,    code INT,...

CDH实操--集成 freeipa

CDH实操--集成 freeipa

1 概述环境准备: 1)安装cdh6.2.1 2)安装FreeIPA,server和client(在所有cdh节点)2 集成2.1 krb5.conf修改注释:default_ccache_nam...

大数据监控系列(一)——Prometheus+Grafana监控概述

大数据监控系列(一)——Prometheus+Grafana监控概述

1 概述这是介绍Prometheushe和Grafana主要是为了监控大数据产品,数栈平台也是使用Prometheushe+Grafana作为底层大数据组件的监控,并且均有配置模板,导入即在Grafa...

CDH实操--hive高可用

CDH实操--hive高可用

前言在CDH中,hive metastore、hiveserver2若角色单实例部署,或者部署多个实例但是连接配置任选其一的话,均存在单点问题,一旦实例故障就会影响业务稳定;这时我们就好考虑高可用部署...

hive执行count和spark执行count结果不一致

hive执行count和spark执行count结果不一致

【组件版本】hive on mr、spark【问题现象】hive 执行count语句,结果条数为0,spark执行count语句能正常显示count数【详细描述】hive 执行count语句:显示co...

ES运维(八)添加IK分词器

ES运维(八)添加IK分词器

一、概述ES自带standard analyzer、simple analyzer、whitespace analyzer、stop analyzer、language analyzer、patter...

发表评论    

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