网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

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

下文给大家带来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高可用负载均衡详解,如果大家还有什么地方需要了解的可以在创新互联行业资讯里查找自己感兴趣的或者找我们的专业技术工程师解答的,创新互联技术工程师在行业内拥有十几年的经验了。

 


文章标题:Haproxy+keepalived如何实现sphinx高可用负载均衡详解
本文来源:http://bjjierui.cn/article/isggge.html

其他资讯