前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数据开发:Flume分布式日志系统简介

大数据开发:Flume分布式日志系统简介

作者头像
成都加米谷大数据
修改2021-06-04 18:09:24
8800
修改2021-06-04 18:09:24
举报
文章被收录于专栏:大数据开发大数据开发

在企业级的平台系统当中,对于日志的收集和分析,一方面对于运维优化有着相应的作用,另一方面日志数据,作为大数据的一种形式,也蕴含着诸多价值。今天的大数据开发学习分享,我们就主要来讲讲,Flume分布式日志系统。

Flume出自Cloudera公司,现如今已经是Apache的顶级项目。市面上与Flume相似的日志收集系统还有Facebook Scribe、Apache Chuwka等。但是在大数据平台系统当中,Flume的应用程度还是占据主流市场的。

大数据学习:Flume分布式日志系统简介
大数据学习:Flume分布式日志系统简介

Flume OG和Flume NG

提到Flume,也许有人听过两个版本,一个是Flume OG,一个是Flume NG。

Flume初始的发行版本目前被统称为Flume OG(Original Generation),属于Cloudera。

而2011年10月22日,Cloudera完成了Flume-728,对Flume进行了里程碑式的改动:重构核心组件、核心配置及代码架构,重构后的版本统称为Flume NG(Next Generation)。

Flume NG的架构

Flume采用了分层架构,分别为Agent、Collector和Storage。其中,Agent和Collector均由Source和Sink两部分组成,Source是数据来源,Sink是数据去向。

Flume使用了两个组件:Master和Node。Node根据在Master Shell或Web中的动态配置,决定其是作为Agent还是作为Collector。

Agent的作用是将数据源的数据发送给Collector。

Collector的作用是将多个Agent的数据汇总后,加载到Storage中。它的Source和Sink与Agent类似。

Storage是存储系统,可以是一个普通File,也可以是HDFS、Hive、HBase、分布式存储等。

Master负责管理、协调Agent和Collector的配置信息,是Flume集群的控制器。

注:Flume框架对Hadoop和ZooKeeper的依赖只存在于JAR包上,并不要求Flume启动时必须将Hadoop和ZooKeeper服务同时启动。

Flume核心概念

1.Agent:使用JVM运行Flume。每台机器运行一个agent,但是可以在一个agent中包含多个sources和sinks。

2.Client:生产数据,运行在一个独立的线程。

3.Source:从Client收集数据,传递给Channel。

4.Sink:从Channel收集数据,运行在一个独立线程。

5.Channel:连接sources和sinks,这个有点像一个队列。

6.Events:可以是日志记录、avro对象等。

Flume以agent为最小的独立运行单位。一个agent就是一个JVM。单agent由Source、Sink和Channel三大组件构成。

值得注意的是,Flume提供了大量内置的Source、Channel和Sink类型。不同类型的Source,Channel和Sink可以自由组合。组合方式基于用户设置的配置文件,非常灵活。

比如:Channel可以把事件暂存在内存里,也可以持久化到本地硬盘上。Sink可以把日志写入HDFS,HBase,甚至是另外一个Source等等。Flume支持用户建立多级流,也就是说,多个agent可以协同工作,并且支持Fan-in、Fan-out、Contextual Routing、Backup Routes。

关于大数据开发学习,Flume分布式日志系统,以上就为大家做了简单的介绍了。Flume组件在大数据技术生态当中占据重要位置,因而在大数据学习当中,也需要给以足够的重视。

本文系转载,前往查看

如有侵权,请联系?cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系?cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据处理套件 TBDS
腾讯大数据处理套件(Tencent Big Data Suite,TBDS)依托腾讯多年海量数据处理经验,基于云原生技术和泛 Hadoop 生态开源技术提供的可靠、安全、易用的大数据处理平台。 TBDS可在公有云、私有云、非云化环境,根据不同数据处理需求组合合适的存算分析组件,包括 Hive、Spark、HBase、Flink、Presto、Iceberg、Elasticsearch、StarRocks 等,以快速构建企业级数据湖仓。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com