HAProxy + Keepalived + Flume 构建高性能高可用分布式日志系统

一、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)。

四、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启动服

[[email protected]~]#  cp /usr/local/etc/rc.d/init.d/keepalived   /etc/rc.d/init.d

[[email protected]~]#  cp /usr/local/etc/sysconfig/keepalived   /etc/sysconfig/

[[email protected]~]#  mkdir /etc/keepalilved

[[email protected]~]#  cp /usr/local/etc/keepalived/keepalived.conf  /etc/keepalived/

[[email protected]~]#  cp /usr/local/sbin/keepalived  /usr/sbin/

[[email protected]~]#  service  keepalived start

(5) 配置文件

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代表检测失败多少次服务器不可用

(4) 平滑重启haproxy

/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 构建高性能高可用分布式日志系统,布布扣,bubuko.com

时间: 2024-10-29 19:11:14

HAProxy + Keepalived + Flume 构建高性能高可用分布式日志系统的相关文章

39套精品Java从入门到架构师|高并发|高性能|高可用|分布式|集群|电商缓存|性能调优|设计项目实战|视频教程

精品Java高级课,架构课,java8新特性,P2P金融项目,程序设计,功能设计,数据库设计,第三方支付,web安全,高并发,高性能,高可用,分布式,集群,电商,缓存,性能调优,设计模式,项目实战,大型分布式电商项目实战视频教程   视频课程包含: 39套Java精品高级课架构课包含:java8新特性,P2P金融项目,程序设计,功能设计,数据库设计,架构设计,web安全,高并发,高性能,高可用,高可扩展,分布式,集群,电商,缓存,性能调优,设计模式,项目实战,工作流,程序调优,负载均衡,Solr

HAProxy+KeepAlived实现web服务高可用、动静分离等

大致规划: 主机 IP 描述 VIP 192.168.0.222 对外提供高可用IP haproxy+keepalived (node1) 192.168.0.111 haproxy为后端两台WEB服务的做动静分离:keepalived为haproxy做高可用. haproxy+keepalived (node2) 192.168.0.112 WEB                (node3) 192.168.0.113 提供静态请求响应 Apache+PHP+MySQL   (node4)

使用Keepalived+ipvs构建(高可用+负载均衡)环境!

之前写过一个heartbeat-ldirectord实现LVS的高可用,这里引入一个轻量级的程序Keepalived基于VRRP协议工作,也能为服务提供高可用功能,这个程序的开发初衷是为了给lvs提供高可用. 下面我们来看看如何使用keepalived+ipvs实现高可用+负载均衡. 在RHEL6.4以后就提供了rpm格式的安装包,这里我们用源码编译安装. 先去官网下载源码包http://keepalived.org/ 解压源程序包,预编译配置,编译程序,安装程序. tar zxvf keepa

构建高性能高可用网站设计要点总结

顺序不代表重要性,请根据场景自行斟酌! 1.高可用:破除单点故障.保证服务无状态或者状态一致,任何节点挂掉不应该影响整个服务,服务启动后可以被自动发现.使用LVS或Nginx负载均衡,需要支持水平扩容. 2.模块化:任何系统都不应该太复杂,不应该承担太多责任,按照低耦合高内聚的原则,需要将系统抽象为多个模块,分而治之. 3.依赖链:根据依赖倒置原则,高层模块不该依赖低层模块,模块之间的依赖链尽量清晰有序,避免循环依赖.依赖密切的两个模块可以考虑合并,或者共用一个中介者对外提供服务. 4.监控:通

Java从入门到架构师|高并发|高性能|高可用|分布式|性能调优|设计模式|大型电商项目

没有设计的思想,你就不能成为一名架构师.架构师是一个能撸的了一手好代码,画的了一个漂亮的UML/原型,写的了一篇技术文档,更加能解决好项目关键技术的综合人才.架构师=前端工程师+后端程序员+系统分析师+关键技术解决+各种技术搭配+设计模式+部署调优+其他,可见架构师是多面手,在项目当中起到连接管理与项目成员的重要角色.因此,在通往大神级的架构师的道路上,你需要懂需求.设计.代码.部署.架构.服务器.运维.调优等等. 简单系统架构图 一个能担负起企业级应用的架构师,脑海里常出现的词会是这些:负载均

HAProxy+Keepalived实现负载均衡高可用

一.环境 5台虚拟机,分别是: 1台测试机(192.168.2.83); 2台haproxy/keepalived(192.168.2.230/192.168.2.231); 2台Web Servers(192.168.2.232/192.168.2.233); 注:VIP设置为 192.168.2.228: 二.安装配置Web Server 由于Web Server的安装与配置非常简单,根据自己喜好,安装一个即可:比如:apache.nginx.tomcat等等.在此就不再详述: 三.安装配置

通过MMM构建MYSQL高可用集群系统

本文为南非蚂蚁的书籍<循序渐进linux-第二版>-8.4的读笔记 MMM集群套件(MYSQL主主复制管理器) MMM套件主要的功能是通过下面三个脚本实现的 1)mmm_mond 这是一个监控进程,运行在管理节点上,主要负责都所有数据库的监控工作,同时决定和处理所有节点的角色切换 2)mmm_agentd 这是一个代理进程,运行在每个MYSQL服务器上,主要完成监控的测试工作以及执行简单的远端服务设置 3)mmm_control 简单的管理脚本,用来查看和管理集群运行状态,同事管理mmm_mo

高性能反向代理软件HAProxy(三)之高可用

一.实验目的 软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载实现.LVS是基于Linux操作系统实现的一种软负载,而HAProxy则是基于第三方应用实现的软负载.HAProxy相比LVS的使用要简单很多,但跟LVS一样,HAProxy自己并不能实现高可用,一旦HAProxy节点故障,将会影响整个站点.本文带来的是HAProxy基于KeepAlived实现Web高可用及动静分离. 二.实验环境介绍是准备 1.实验拓扑图 2.环境介绍 3.同步时间 [[emai

RHEL 5.4下部署LVS(DR)+keepalived实现高性能高可用负载均衡

原文地址:http://www.cnblogs.com/mchina/archive/2012/05/23/2514728.html 一.简介 LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一. 目前有三种IP负载均衡技术(VS/NAT.VS/TUN和VS/DR):十种调度算法(rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq). K