日志采集框架Flume技术
Posted 阳哥赚钱很牛
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了日志采集框架Flume技术相关的知识,希望对你有一定的参考价值。
一、Flume简介
(1) Flume提供一个分布式的,可靠的,对大数据量的日志进行高效收集、聚集、移动的服务,Flume只能在Unix环境下运行。
(2)Flume基于流式架构,容错性强,也很灵活简单。
(3)Flume结合Kafka用来实时进行数据收集,Spark、Storm用来实时处理数据,impala用来实时查询。
Flume详解官网:flume.apache.org
Flume is a distributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts of log data. It has a simple and flexible architecture based on streaming data flows. It is robust and fault tolerant with tunable reliability mechanisms and many failover and recovery mechanisms. It uses a simple extensible data model that allows for online analytic application.
Flume是一种分布式、可靠且可用的服务,用于高效地收集、聚合和移动大量日志数据。它具有基于流数据流的简单灵活的体系结构。它具有健壮性和容错性,具有可调的可靠性机制和许多故障切换和恢复机制。它使用一个简单的可扩展数据模型,允许在线分析应用程序。
二、Flume软件采集数据的实现流程
source会将数据源中的数据封装成为一个又一个的event。所以source、channel、sink之间流动的并不是源数据,而是event。event是传输单元,Flume数据传输的基本单元,以事件的形式将数据从源头送至目的地。
Flume四大角色:source、channel、sink、event。其中channel避免数据量过大而破坏sink。
三、Flume传输过程
source监控某个文件或数据流,数据源产生新的数据,拿到该数据后,将数据封装在一个Event中,并put到channel后commit提交,channel队列先进先出(保证数据的顺序性),sink去channel队列中拉取数据,然后写入到目的地中。
在同一时刻,可以启动多个flume程序,每一个flume进程称之为一个agent,在每一个agent中都有source 、channel、sink 、event。
以上是关于日志采集框架Flume技术的主要内容,如果未能解决你的问题,请参考以下文章