您的位置:首页 > 其它

集群上配置Keepalived实现负载均衡

2017-09-12 21:22 274 查看

简介:

  Keepalived是一个基于VRRP协议来实现的服务高可用方案,可以利用其来避免IP单点故障。Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。

  本文主要介绍利用keepalived来监控sparkJDBC进程,当一个节点的sparkJDBC进程宕机之后,能自动的将VIP切换到另外的节点上。

Keepalived的来监测sparkJDBC进程

  应用说明:利用keepalived,实现VIP
(virtual IP) 的飘动;检测sparkJDBC进程,当集群服务器上的一个进程挂掉之后,可以自动飘到另一台服务器上。

1、安装配置好keepalived之后。(本文配置在10.199.33.12和10.199.33.13)目录为:

    


2、修改keepalived的配置文件:keepalived.conf

    


4、配置文件的内容如下:

vrrp_script chk_http_port {
script "/etc/keepalived/check-sparksubmit-server.sh"
interval 2 #间隔时间
weight 0
global_defs {
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state BACKUP
interface em1 #服务器的网卡
virtual_router_id 51
priority 90   #优先级
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
chk_http_port
}
virtual_ipaddress {
10.199.33.15 #虚拟的IP
}
}
}


4、进程监测脚本的目录要与keepalived配置文件一致:

配置文件中的内容:script "/etc/keepalived/check-sparksubmit-server.sh"



5、shell脚本的程序的内容如下:红色是进程的名字,通过它获取进程ID。

#!/bin/bash
ldapPid=$(ps -ef |grep SparkJDBCmdss8|grep -v grep|awk '{print $2}'|grep -v PID)
#echo $ldapPid
if [ "$ldapPid" == "" ]; then
service keepalived stop
exit 1
else
exit 0
fi 


  


  


测试:

1、启动所有点上的keepalived



2、通过命令查看虚拟IP的情况:ip a

    kvdb02(10.199.33.12)上有VIP:

  


    kvdb03(10.199.33.13)上没有VIP:

  


3、启动所有节点上的sparkJDBC进程:

  


4、kill掉kvdb02的SparkSubmit进程:

  


5、再次查看虚拟IP的情况:ip a

    kvdb02(10.199.33.12)上没有VIP:



 

    kvdb03(10.199.33.13)上有VIP: 



 

  到此就全部测完了,这是第一次写博客!!!有什么不对的地方请指正!

        2017-09-11,写于武汉出差。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: