您的位置:首页 > 其它

impala keepalived+haproxy

2015-11-18 16:49 477 查看
对impala jdbc访问提供代理,采用 keepalived + haproxy实现

一、haproxy安装:

1、下载haproxy

下载软件地址:http://www.haproxy.org/#down

2、安装haproxy

tar -zxxf haproxy-.tar.gz

cd haproxy-

uname -r 2.6.32-431.29.2.el6.x86_64

注释:TARGET指定内核版本,而uname -r是查看内核版本;ARCH指定CPU架构

make TARGET = linux26 PREFIX=/usr/local/haproxy

make install PREFIX =/usr/local/haproxy

3、为Haproxy提供主配置文件与服务脚本,并将其添加到系统服务

mkdir /etc/haproxy

cp examples/haproxy.cfg /etc/haproxy

cp examples/haproxy.init /etc/init.d/haproxy

ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy

chmod +x /etc/init.d/haproxy

chkconfig –add haproxy

4、配置haproxy.cfg,简单配置如下

主从节点配置(相同):

global

log 127.0.0.1 local0

log 127.0.0.1 local1 notice

#log loghost local0 info

maxconn 4096

chroot /usr/local/haproxy

uid 99

gid 99

daemon

#debug

#quiet

pidfile /usr/local/haproxy/logs/haproxy.pid

defaults

log global

mode http

option httplog

option dontlognull

retries 3

option redispatch

maxconn 2000

timeout connect 5000

timeout client 50000

timeout server 50000

listen stats

mode http

bind 192.168.194.101:8090 #指定IP地址与Port

stats enable #开启Haproxy统计状态

stats refresh 3s #统计页面自动刷新时间间隔

stats hide-version #状态页面不显示版本号

stats uri /allen #统计页面的uri为”/allen”

stats realm Haproxy\ allen #统计页面认证时提示内容信息

stats auth admin:admin #统计页面的用户名与密码

stats admin if TRUE #启用或禁用状态页面

listen impala 192.168.194.101:25003

mode tcp

option tcplog

balance leastconn

timeout connect 5000

timeout client 50000

timeout server 50000

server hadoop2 192.168.194.12:21050

server hadoop3 192.168.194.13:21050

server hadoop4 192.168.194.14:21050

server hadoop5 192.168.194.15:21050

5、配置haprox日志输出(可不配置,提高性能)

编辑/etc/rsyslog.conf文件,添加如下内容:local3.* (依据haproxy.cfg中的配置而定) /var/log/haproxy.log

重启rsyslog:service rsyslog restart

二、安装Keepalived

1、软连接系统内核目录

ln -s /usr/src/kernels/2.6.18-194.11.3.el5-i686/ /usr/src/linux

有时你找不到这个内核的路径,系统安装后并没有kernerls的目录

解决方法:yum install kernel-devel

2、使用最新的ipvs

tar zxvf ipvsadm-1.26.tar.gz

cd ipvsadm-1.26

make

make install

http://www.linuxvirtualserver.org/software/ipvs.html

3、安装keepalived

编译安装:进入keepalive解压缩目录。

./configure make && make install

注:configure过程中出现!!! OpenSSL is not properly installed on your system. !!!

解决:yum install -y openssl openssl-devel

注册服务及配置

cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/

cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/

mkdir /etc/keepalived

cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/

ln -s /usr/local/sbin/keepalived /usr/sbin/

service keepalived start

配置keepalived.conf:

global_defs {

router_id LVS_DEVEe

}

vrrp_script chk_http_port {

script “/etc/keepalived/check_haproxy.sh”

script “killall -0 haproxy”

interval 2

weight 2

}

vrrp_instance VI_1 {

state MASTER(从节点为BACKUP)

interface eth0

virtual_router_id 51

priority 150(优先级降低为120)

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

track_script {

chk_http_port

}

virtual_ipaddress {

192.168.194.101

}

}

check_haproxy.sh脚本配置:

主节点:

!/bin/bash

A=
ps -C haproxy --no-header | wc -l


if [ $A -eq 0 ];then

/etc/init.d/haproxy start

echo “haproxy start”

sleep 3

if [
ps -C haproxy --no-header | wc -l
-eq 0 ];then

/etc/init.d/keepalived stop

echo “keepalived stop”

fi

Fi

从节点:

!/bin/bash

A=
ip a | grep 192.168.194.101 | wc -l


B=
ps -ef | grep haproxy | grep -v grep | awk '{print $2}'


if [ A−gt0];then/etc/init.d/haproxystartelsekill−9B

fi
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  impala haproxy keepalived