主页 > 新闻资讯 > 大数据学习:Flume快速入门

大数据学习:Flume快速入门

作者:张老师 浏览次数: 2020-11-26 17:05
大数据生态系统当中的Flume组件,作为分布式数据采集系统得到重用,基于流式架构,提供高可用高可靠的服务,在实际应用场景下,高性能的表现使得Flume备受青睐。今天的大数据学习分享,我们主要来讲讲Flume入门的一些基础知识。

大数据学习:Flume快速入门

Flume定义

从定义来说,Flume是Cloudera开源的一款高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。Flume主要用于从多种不同数据源收集、聚集、移动大量日志数据到集中数据存储中;它通过事务机制提供了可靠的消息传输支持,并自带负载均衡机制来支撑水平扩展。

在随后的发展当中,Flume也在不断进行迭代和完善,现在已经成为了Apache 顶级社区项目之一,Flume在大数据生态系统当中,也占据了重要的位置。

Flume优势

Flume可以将应用产生的数据存储到任何集中存储器中,比如HDFS,Hbase。

当收集数据的速度超过将写入数据的时候,也就是当收集信息遇到峰值时,这时候收集的信息非常大,甚至超过了系统的写入数据能力,这时候,Flume会在数据生产者和数据收容器间做出调整,保证其能够在两者之间提供一共平稳的数据。

Flume的管道是基于事务,保证了数据在传送和接收时的一致性。

Flume是可靠的,容错性高的,可升级的,易管理的,并且可定制的。

支持各种接入资源数据的类型以及接出数据类型。

支持多路径流量,多管道接入流量,多管道接出流量,上下文路由等

可以被水平扩展。

Flume重要概念

Agent

Agent是一个JVM进程,它以事件的形式将数据从源头送至目的。Agent主要有3个部分组成,Source、Channel、Sink。

Source

Source是负责接收数据到Flume Agent的组件。Source组件可以处理各种类型、各种格式的日志数据,包括avro、thrift、exec、jms、spooling directory、netcat、sequence generator、syslog、http、legacy。

Channel

Channel是位于Source和Sink之间的缓冲区。Channel允许Source和Sink运作在不同的速率上。Channel是线程安全的,可以同时处理几个Source的写入操作和几个Sink的读取操作。

Sink

Sink不断地轮询Channel中的事件且批量地移除它们,并将这些事件批量写入到存储或索引系统、或者被发送到另一个Flume Agent。

Sink组件目的地包括hdfs、logger、avro、thrift、ipc、file、null、HBase、solr、自定义。

Event

传输单元,Flume数据传输的基本单元,以事件的形式将数据从源头送至目的地。Event由可选的header和载有数据的一个byte array构成。Header是容纳了key-value字符串对的HashMap。

关于大数据学习,Flume快速入门,以上就为大家做了简单的介绍了。大数据在快速发展当中,大数据技术生态也在不断迭代更新,而Flume组件也同样如此,接下来我们也会持续做更详尽的介绍。成都加米谷大数据,专业大数据培训机构,大数据开发、数据分析与挖掘,本月正在招生中,课程大纲及试学视频,可联系客服获取!
热点排行
推荐文章
立即申请>>