HAProxy + Keepalived + Flume 构建高性能高可用分布式日志系统
2013-07-10 15:14
561 查看
一、HAProxy简介
HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代 理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。 HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。二、Keepalived简介
它是一个基于VRRP协议来实现的WEB服务高可用方案,可以利用其来避免单点故障。一个WEB服务至少会 有2台服务器运行Keepalived,一台为主服务器(MASTER),一台为备份服务器(BACKUP),但是对外表现为一个虚拟IP,主服务器会发 送特定的消息给备份服务器,当备份服务器收不到这个消息的时候,即主服务器宕机的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。三、Flume简介
Flume是Apache提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。注:根据我们公司具体业务需求,对其进行二次开发满足跨国跨机房日志数据完整传输录入到hadoop,同时确保高性能(tps:10k),当前已经有部分业务线上介入,日收集日志条数2亿+(日志大小约30G)。
ps: 美团的flume架构&优化供参考
http://tech.meituan.com/mt-log-system-arch.html
http://tech.meituan.com/mt-log-system-optimization.html
四、Keepalived安装&配置
(1) keepalived依赖环境yum install -y openssl-devel openssl;
yum install -y popt-devel;
(2) 从keepalived官网下载最新的版本:http://www.keepalived.org/download.html
(3) 安装与编译:
./configrure;
make && make install
(4) 设置service启动服
[root@localhost~]# cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d [root@localhost~]# cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/ [root@localhost~]# mkdir /etc/keepalived [root@localhost~]# cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/ [root@localhost~]# cp /usr/local/sbin/keepalived /usr/sbin/ [root@localhost~]# service keepalived start |
vrrp_script chk_haproxy { script"/data/sh/check_haproxy.sh" interval2 weight2 } # VIP1 vrrp_instance VI_1 { state MASTER #主备模式 interfaceeth2 # 监控网卡,要产生虚拟ip的网卡,如机器161.106内网网卡为eth0则必须为eth0 virtual_router_id151# 这个两台服务器必须一样 priority100 #权重值 MASTRE 一定要高于 BAUCKUP advert_int5 nopreempt authentication { auth_typePASS # 加密 auth_pass2222# 加密的密码,两台服务器一定要一样 } virtual_ipaddress { 192.168.161.xxx #VIP 地址 } track_script { chk_haproxy # 执行监控的服务 } } 注: keepalived主备唯一不同的是配置文件 state & priority |
五、HAProxy安装&配置
(1) 从官网下载最新版本haproxy: http://haproxy.1wt.eu/#down(2) 安装
make TARGET=linux26 PREFIX=/usr/local/haproxy #将haproxy安装到/usr/local/haproxy
make install PREFIX=/usr/local/haproxy
(3) 配置文件
global maxconn51200#最大连接数 user root group root uid99 gid99 daemon #quiet nbproc6#进程数 defaults mode http retries3 option redispatch timeout connect 5000ms timeout client 30000ms timeout server 30000ms timeout check10000#检查超时时间 log127.0.0.1local0 debug #[err warning info debug] listen admin_stats #监控后台 bind0.0.0.0:8880 mode http option httplog stats refresh 30s stats uri /stats stats realm Haproxy Manager stats auth admin:admin listen logservers bind *:18888 mode tcp tcp模式 timeout client 5m #客户端连接服务器多久没有数据连接超时,类似与http keepalive timeout server 5m #类似 server t1192.168.1.7:8888 weight 1 check inter 5000 rise2 fall3 server t2192.168.1.118:8888 weight 1 check inter 5000 rise2 fall3 #weight 代表权重 inter代表检测频率 rise代表检测成功多少次服务器可用 fall代表检测失败多少次服务器不可用 |
/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy_tcp.cfg -p /usr/local/haproxy/ha.pid -st `cat /usr/local/haproxy/ha.pid`
相关文章推荐
- HAProxy + Keepalived + Flume 构建高性能高可用分布式日志系统
- Flume + Keepalived构建高可用分布式采集系统
- Flume + Keepalived构建高可用分布式采集系统
- 用HAProxy和KeepAlived构建高可用的反向代理系统
- HAProxy + KeepAlived构建高可用的反向代理系统
- Flume(NG)架构设计要点及配置实践 Flume NG是一个分布式、可靠、可用的系统,它能够将不同数据源的海量日志数据进行高效收集
- 日志采集框架Flume以及Flume的安装部署(一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统)
- 日志采集框架Flume以及Flume的安装部署(一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统)
- HAProxy+Keepalived构建高可用负载均衡
- 从零开始构建分布式日志系统
- 分布式日志收集收集系统:Flume(转)
- haproxy+keepalived构建高可用负载均衡
- 分布式日志收集收集系统:Flume(转)
- 分布式日志收集系统- Cloudera Flume 介绍
- haproxy+keepalived构建高可用负载均衡
- 学习总结二十二:flume是分布式的日志收集系统
- 高性能、高可用、高扩展、分布式微信牌九源码搭建系统架构设计
- 分布式flume日志收集系统
- flume分布式日志收集系统操作
- keepalived+haproxy构建高可用负载均衡集群