anyuan2002.com - vwin网

查找: 您的方位主页 > 网络频道 > 阅览资讯:根据flume+kafka的日志搜集架构

根据flume+kafka的日志搜集架构

2019-04-08 07:40:23 来历:www.anyuan2002.com 【

资源:4core/8g*2台,终究成果:1500并发/s时,tps约9000,cpu占用60%效果,mem占用6g左右

1、flume

本次日志搜集选用Apache高可用的,高牢靠的,分布式的海量日志搜集、聚合和传输的体系flume,版别1.9,官方文档:http://flume.apache.org/releases/content/1.9.0/FlumeUserGuide.html

该中间件构件单元为agent,数据传输单位为event,如下图所示:

根据flume+kafka的日志搜集架构

它支撑各种丰厚的source、channel、sink组件,还能够用户自定义开发,文档友爱,

特别适用于流式数据比方日志数据的处理。其间,source 担任数据的发生或搜集,从数据发生器接纳数据,并将接纳的数据以Flume的event格局传递给一个或许多个通道Channel。Channel 是一种时间短的存储容器,担任数据的存储耐久化,能够耐久化到jdbc,file,memory等,将从source处接纳到的event格局的数据缓存起来,直到它们被sinks消费掉,对事物天然支撑。能够把channel看成是一个行列,行列的长处是先进先出,放好后尾部一个个event出来,Flume比较垂青数据的传输,因而简直没有数据的解析预处理,仅仅是数据的发生,封装成event然后传输。sink 担任数据的转发,它从channel消费数据(events)并将其传递给方针地,方针地或许是另一个sink,也或许是hdfs、file、自定义等。

2、Kafka:

在上一版别中,进行了如下测验:①为了进步tps,测验了运用根据内存的flume-memoryChannel,可是因为峰值流量的不确定常常导致内存溢出,以及选用内存作为耐久带来的数据安全性问题,故该方法扫除。②运用根据fileChannel的flume-agent单元,选用文件通道来进行耐久化,处理了内存溢出的问题,也处理了数据安全性的问题,可是因为数据落地文件带来的高磁盘I/o、source和sink的锁竞赛等坏处,直接导致了tps急剧下降,故该计划也不完美。

本次版别,引进分布式音讯存储中间件kafka来存储音讯,kafka分布式、多副本的机制确保了数据的安全性,一起音讯进行了分区存储,选用多个consumer进程来一起消费音讯,别的,kafka的引进,消除了结构耦合,处理了flume单元结构中source、sink锁竞赛的问题,一起,根据kafka的数据安全和蓄洪特性,操控了出口流量,故后边的结构均可放心肠选用内存通道,确保了体系的吞吐量。

3、结构意图:

根据flume+kafka的日志搜集架构

 

4、日志流向示意图:

根据flume+kafka的日志搜集架构

 

具体结构及日志流向示意图见附件“日志搜集结构示意图”。

5、可用和容错性:

①现在选用2节点并行布置,由nginx穿插署理,轮询负载,确保可用性;

②上签到署理服务器的恳求将被署理到kafkaSink进口,以2 partation,多副本机制的音讯存储在kafka集群中,确保了数据的高牢靠性,一起kafka能对流量进行蓄洪,削峰,根据此,在选用kafka source消费kafka中的音讯时,因为kafka对流量峰值进行了缓冲,操控了出口的流量值,故agent选用根据内存的通道memoryChannel,在能确保内存安全的状况下进步消费的吞吐量,通过实验,到达当时体系吞吐量方针时,结尾数据sink均需求2个(详见日志搜集架构),才干确保kafka中音讯不堆积。

6、准确性:

jmeter测验1500并发/秒,循环100次,post了15w条数据

根据flume+kafka的日志搜集架构

 

节点1文件中75002条;

根据flume+kafka的日志搜集架构

节点2文件中共74998条,共15w条。

根据flume+kafka的日志搜集架构

 

7、可扩展性:

现在布置在两台节点,根据服务器资源状况和方针tps,每节点启用1个端口HTTPSource监听日志上报,选用署理服务轮询负载到两台节点,后续日志量大了之后还能够对署理节点或flume支路进行扩展,以下降各支路的负载。一起,后续某个意图端假如下线,能够直接将该anent进程杀掉即可。

8、要害装备片段:

①nginx均衡负载到两个节点

根据flume+kafka的日志搜集架构

 

根据flume+kafka的日志搜集架构

②kafkaSink多路扇出(仿制)到多个意图地。

根据flume+kafka的日志搜集架构

根据flume+kafka的日志搜集架构

9、功用自测:

因为slb有tps 1000的约束(运维现在欠好评价并发量有多大,本钱考虑,现在1000装备,后续扩容),jmeter压力测验负载在其间一台nginx的公网地址,http://公网ip/logCollect2,1500并发/秒,2节点并行稳守时tps约9000

根据flume+kafka的日志搜集架构

安稳状态下,音讯堆积状况:

根据flume+kafka的日志搜集架构

压测安稳状况下资源运用状况

node1:

根据flume+kafka的日志搜集架构

根据flume+kafka的日志搜集架构

node2:

根据flume+kafka的日志搜集架构

根据flume+kafka的日志搜集架构

当时服务器资源在该压力下内存占用有些高。

10、数据落地展现:

①自研数仓数据落地状况:

根据flume+kafka的日志搜集架构

②引荐体系数据落地状况:

根据flume+kafka的日志搜集架构

③阿里云datahub数据落地和数据归档到maxCompute

根据flume+kafka的日志搜集架构

根据flume+kafka的日志搜集架构

 

11、缺陷:

①尽管简直一切的大数据搜集均不或许做到肯定实时,但因为本例数据流向意图稍多,结构稍杂乱,流量峰值时数据实时性会有献身。

②因为引进kafka集群进行流量缓冲,体系保护杂乱度增高,需求额定保护kafka集群、zookeeper集群。

 

 
 

本文地址:http://www.anyuan2002.com/a/question/100310.html
vwin娱乐场
Tags: 日志 根据 flume+kafka
修改:vwin网
关于咱们 | 联络咱们 | 友情链接 | 网站地图 | Sitemap | App | 回来顶部