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启动服
[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/keepalilved
[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
|
(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 构建高性能高可用分布式日志系统相关推荐
- keepalive+nginx实现负载均衡高可用_超详细的LVS+keepalived+nginx实现高性能高可用负载均衡集群教程...
概述 前面已经介绍了前两部分内容,下面主要介绍在nginx服务器方面的配置和测试整个集群是否可用. 在realserver端配置VIP 1.两台nginx服务器都要执行下面脚本: #vi /etc/r ...
- Ansible(四)ansible roles实现(apache+haproxy+keepalived)负载均衡+高可用
1.ansible roles简介 <1> roles 用于层次性.结构化地组织playbook. <2> roles 能够根据层次型结构自动装载变量文件.tasks以及han ...
- haproxy负载均衡_基于mycat+haproxy+keepalived搭建mysql数据库高可用负载均衡
概述 目前业界对数据库性能优化普遍采用集群方式,而oracle集群软硬件投入昂贵,mysql则比较推荐用mycat去搭建数据库集群,下面介绍一下怎么用mycat+haproxy+keepalived搭 ...
- 利用LVS+Keepalived 实现高性能高可用负载均衡服务器
作者:NetSeek [url]http://www.linuxtone.org[/url](IT运维专家网|集群架构|性能调优) 欢迎转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明 ...
- 转载--CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡
源地址:http://www.cnblogs.com/mchina/archive/2012/08/27/2644391.html 一.简介 VS/NAT原理图: 二.系统环境 实验拓扑: 系统平台: ...
- 案例一(haproxy+keepalived高可用负载均衡系统)【转】
1.搭建环境描述: 操作系统: [root@HA-1 ~]# cat /etc/redhat-release CentOS release 6.7 (Final) 地址规划: 主机名 IP地址 集群角 ...
- RabbitMQ:使用Docker构建RabbitMQ高可用负载均衡集群
目录 一.构建RabbitMQ集群 1. 启动多个RabbitMQ节点 2. 加入集群 3. 配置镜像队列 二.HAProxy负载均衡 1. 安装HAProxy 2. 配置HAProxy 3. 启动 ...
- 高性能高可用MySQL(主从同步,读写分离,分库分表,去中心化,虚拟IP,心跳机制)
高性能高可用MySQL(主从同步,读写分离,分库分表,去中心化,虚拟IP,心跳机制) 视频地址:https://www.bilibili.com/video/BV1ry4y1v7Tr?p=8& ...
- lvs服务器需要开启web服务么_Nginx+Keepalived实现web服务器高可用
1.Nginx 业务背景 现公司需求快速搭建web服务器,对外提供给用户web服务. 需求拆分 需要基于http协议的软件,搭建服务实现 介绍 常见用法: 1) web服务器软件 httpd http ...
最新文章
- python.freelycode.com-Python数据可视化2018:为什么这么多的库?
- 一 如何检查oracle的归档日志及空间占用率,清除归档日志、Oracle归档日志使用情况查询、查看oracle数据库一周产生的归档日志
- 进阶指令——df指令(作用:查看磁盘的空间)、free指令(作用:查看内存使用情况)、head指令(作用:查看一个文件的前n行,如果不指定n,则默认显示前10行)、tail指令、less指令
- springboot集成shiro实现注册、登录、退出功能
- edittext 选中焦点在最后_安卓开发中EditText的焦点改变处理(获取焦点和失去焦点交互变化)...
- 读《白帽子讲Web安全》之安全意识篇(一)
- python中比较重要的几个函数_【python】python re模块中几个比较重要的函数
- tomcat中关于websocket的性能优化配置
- MySQL where后面的行子查询使用
- 外梯度—lhMorpGradientOut
- boot gwt_带Spring Boot的GWT
- 数据分析与挖掘建模实战001:导学,概述
- Notepad++没有插件管理器(Plugin Manager)的解决方法
- 决胜圣诞,女神心情不用猜!
- jmeter聚合报告详解
- ENVI实验教程(8)实验八、高光谱与光谱分析
- Day22——十字链表
- Excel指定单元格锁定
- 【渝粤题库】陕西师范大学300005 中国历史文选
- 【数值分析】复化积分公式