千家信息网

Haproxy+keepalived如何实现sphinx高可用负载均衡详解

发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,下文给大家带来Haproxy+keepalived如何实现sphinx高可用负载均衡详解,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用在
千家信息网最后更新 2025年01月21日Haproxy+keepalived如何实现sphinx高可用负载均衡详解

下文给大家带来Haproxy+keepalived如何实现sphinx高可用负载均衡详解,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用在行业内累计的经验来做一个解答。

Haproxy+keepalived实现sphinx高可用负载均衡

环境如下:
【node3】
haproxy:192.168.1.189
【node4】
haproxy:192.168.1.103
vip:192.168.1.222/192.168.1.223

# apt-get install ipvsadm
# apt-get install linux-headers-$(uname -r)
# ln -s /usr/src/linux-headers-2.6.32-33 /usr/src/linux
# wget http://www.keepalived.org/software/keepalived-1.2.2.tar.gz
# tar zxvf keepalived-1.2.2.tar.gz -C ../software/
# ./configure --prefix=/usr/local/keepalived-1.2.2
configure: error:!!! OpenSSL is not properly installed on your system. !!!!!! Can not include OpenSSL headers files.解决办法:
# apt-get install libssl-dev
configure: error: Popt libraries is required
解决办法:
# apt-get install libpopt-dev
configure: WARNING: keepalived will be built without libnl support.
解决办法:
# apt-get install libnl-dev
/usr/include/stdint.h:41: error: conflicting types for ‘int64_t’
/usr/src/linux/include/linux/types.h:125: error: previous declaration of ‘int64_t’ was here
/usr/include/stdint.h:56: error: conflicting types for ‘uint64_t’
解决办法:
# vim ./keepalived/libipvs-2.6/ip_vs.h
将#include 移动到#include 后面去。

# ./configure --prefix=/usr/local/keepalived-1.2.2
Keepalived configuration
------------------------
Keepalived version : 1.2.2
Compiler : gcc
Compiler flags : -g -O2
Extra Lib : -lpopt -lssl -lcrypto -lnl
Use IPVS Framework : Yes
IPVS sync daemon support : Yes
IPVS use libnl : Yes
Use VRRP Framework : Yes
Use Debug flags : No
# make
# make install

# vim /etc/sysctl.conf
net.ipv4.ip_nonlocal_bind=1
# sysctl -p
【node3】
global_defs {
router_id LVS_DEVEL
}

vrrp_script chk_haproxy {
script "/usr/local/scripts/chk_haproxy.sh"
interval 2
weight 2
}

vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 76
priority 150
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
track_script {
chk_haproxy
}
virtual_ipaddress {
192.168.1.222
}
}

vrrp_instance VI_2 {
state BACKUP
interface eth0
virtual_router_id 77
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
track_script {
chk_haproxy
}
virtual_ipaddress {
192.168.1.223
}
}

【node4】
global_defs {
router_id LVS_DEVEL
}

vrrp_script chk_haproxy {
script "/usr/local/scripts/chk_haproxy.sh"
interval 2
weight 2
}

vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 76
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
track_script {
chk_haproxy
}
virtual_ipaddress {
192.168.1.222
}
}

vrrp_instance VI_2 {
state MASTER
interface eth0
virtual_router_id 77
priority 150
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
track_script {
chk_haproxy
}
virtual_ipaddress {
192.168.1.223
}
}

# vim chk_haproxy.sh
#!/bin/bash

STATUS=`netstat -nptl | grep haproxy | grep 3312 | wc -l`

if [ "$STATUS" -eq "0" ]; then
/usr/local/haproxy-1.4.18/sbin/haproxy -f /usr/local/haproxy-1.4.18/haproxy.conf
STATUS2=`netstat -nptl | grep haproxy | grep 3312 | wc -l`
if [ "$STATUS2" -eq "0" ]; then
kill -9 $(ps -ef | grep keepalived | grep -v grep | awk '{print $2}')
fi
fi

看了以上关于Haproxy+keepalived如何实现sphinx高可用负载均衡详解,如果大家还有什么地方需要了解的可以在行业资讯里查找自己感兴趣的或者找我们的专业技术工程师解答的,技术工程师在行业内拥有十几年的经验了。

均衡 办法 在行 业内 工程 工程师 技术 经验 解答 下文 专业 东西 书籍 兴趣 地方 实际 环境 理论 行业 资讯 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 物理存储结构数据库方法 限制数据库的按值范围查询的功能 利用阿里云服务器搭建课表小程序 人工智能与互联网科技 应用软件开发工程师英文 数据库log文件太大怎么办 少年三国志乘字开头的服务器 南京正规软件开发服务保障 服务器设计主要是做什么 医院网络安全发展趋势 常用网络安全命令包括哪些 服务器监控管理 免费 网络储存服务器 我的南京上传图片显示服务器已满 重庆新华互联网科技学校 linux服务器卡 oracle数据库ip地址 中油龙慧软件开发应届生工资 网络安全专升本归什么类 小米手环无法更新数据库 学软件开发挺好就是头有点凉 广州1u服务器生产厂商 lol服务器未响应怎么办 台州网络技术有限公司扣钱 数据库挖掘的统计 中汽研数据中心软件开发部门 高职工业网络技术专业 网络安全涉密 提纲 fm2020数据库更新方法 服务器监控软件
0