开发者社区> 程序员对白> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

带你看懂大数据采集引擎之Flume&采集目录中的日志

简介: 带你看懂大数据采集引擎之Flume&采集目录中的日志
+关注继续查看

一、Flume的介绍:


Flume由Cloudera公司开发,是一种提供高可用、高可靠、分布式海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于采集数据;同时,flume提供对数据进行简单处理,并写到各种数据接收方的能力,如果能用一句话概括Flume,那么Flume是实时采集日志的数据采集引擎。


二、Flume的体系结构:


Flume的体系结构分成三个部分:数据源、Flume、目的地


数据源种类有很多:可以来自directory、http、kafka等,flume提供了source组件用来采集数据源。


1、source作用:采集日志


source种类:


1、spooling directory source:采集目录中的日志


2、htttp source:采集http中的日志


3、kafka source:采集kafka中的日志


……


采集到的日志需要进行缓存,flume提供了channel组件用来缓存数据。


2、channel作用:缓存日志


channel种类:


1、memory channel:缓存到内存中(最常用)


2、JDBC channel:通过JDBC缓存到关系型数据库中


3、kafka channel:缓存到kafka中


……


缓存的数据最终需要进行保存,flume提供了sink组件用来保存数据。


3、sink作用:保存日志


sink种类:


1、HDFS sink:保存到HDFS中


2、HBase sink:保存到HBase中


3、Hive sink:保存到Hive中


4、kafka sink:保存到kafka中


……


官网中有flume各个组件不同种类的列举:


三、安装和配置Flume:


1、安装:tar -zxvf apache-flume-1.7.0-bin.tar.gz -C ~/training


2、创建配置文件a4.conf:定义agent,定义source、channel、sink并组装起来,定义生成日志文件的条件。


以下是a4.conf配置文件中的内容,其中定义了数据源来自目录、数据缓存到内存中,数据最终保存到HDFS中,并且定义了生成日志文件的条件:日志文件大小达到128M或者经过60秒生成日志文件。


#定义agent名, source、channel、sink的名称
a4.sources = r1
a4.channels = c1
a4.sinks = k1
#具体定义source
a4.sources.r1.type = spooldir
a4.sources.r1.spoolDir = /root/training/logs
#具体定义channel
a4.channels.c1.type = memory
a4.channels.c1.capacity = 10000
a4.channels.c1.transactionCapacity = 100
#定义拦截器,为消息添加时间戳
a4.sources.r1.interceptors = i1
a4.sources.r1.interceptors.i1.type = org.apache.flume.interceptor.TimestampInterceptor$Builder
#具体定义sink
a4.sinks.k1.type = hdfs
a4.sinks.k1.hdfs.path = hdfs://192.168.157.11:9000/flume/%Y%m%d
a4.sinks.k1.hdfs.filePrefix = events-
a4.sinks.k1.hdfs.fileType = DataStream
#不按照条数生成文件
a4.sinks.k1.hdfs.rollCount = 0
#HDFS上的文件达到128M时生成一个日志文件
a4.sinks.k1.hdfs.rollSize = 134217728
#HDFS上的文件达到60秒生成一个日志文件
a4.sinks.k1.hdfs.rollInterval = 60
#组装source、channel、sink
a4.sources.r1.channels = c1
a4.sinks.k1.channel = c1


四、使用Flume语句采集数据:


1、创建目录,用于保存日志:


mkdir /root/training/logs


2、启动Flume,准备实时采集日志:


bin/flume-ng.agent -n a4 -f myagent/a4.conf -c conf -Dflume.root.logger=INFO.console


3、将日志导入到目录中:


cp * ~/training/logs


五、Sqoop和Flume的相同点和不同点:


相同点:sqoop和flume只有一种安装模式,不存在本地模式、集群模式等。


不同点:sqoop批量采集数据,flume实时采集数据。


作者:李金泽AllenLi,清华大学硕士研究生,研究方向:大数据和人工智能


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
MIT中国未来城市实验室签约创头条”数据合作伙伴”,深耕双创大数据
日前,国内知名创新创业服务机构创头条与美国麻省理工大学(MIT)中国未来城市实验室(MIT China Future City Lab,简称MIT-CFC实验室)共同宣布,双方达成数据合作关系,创头条成为MIT-CFC的数据合作伙伴(Data Partner)之一。未来双方将就创新创业经济地理研究、人力资本与创新活力研究、众创空间供给与需求机制研究等方面展开合作,探索创新创业升级发展的新模式。
84 0
2020阿里巴巴大数据技术公开课第五季 — SaaS模式云数据仓库MaxCompute开发实战与常见问题
MaxCompute(原ODPS)作为SaaS模式云数据仓库,以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。
794 0
中国民生银行大数据团队的Flume实践
转载自:AI前线 中国民生银行服务器的操作系统种类众多,除 Linux 外,部分生产系统仍采用 AIX 和 HP-UNIX 操作系统,由于在 AIX 和 HP-UNIX 无法使用 Logstash 作为日志采集端,在大数据基础平台产品团队经过一系列选型后,采用 Flume 作为 AIX 和 HP-UNIX 操作系统上日志采集端。
1654 0
大数据组件Flume总结(原创)
1)见思维导图         https://share.mindmanager.com/#publish/H_yLoCb7JMY6Qh6unY5qw4wtlpbDjA8xCIqlxYGd
690 0
不得不看!推荐企业使用华北2(北京)大数据产品MaxCompute的八大理由
2017年11月1日,阿里云计算宣布大数据计算服务MaxCompute北京节点正式对外开放运营,这是继杭州、青岛之外,阿里云在全球对外服务的第三个数据中心。阿里云方面表示,北京数据中心将更好地服务众多互联网公司和世界级企业总部。
6059 0
传递给数据库 'model' 中的日志扫描操作的日志扫描号无效
原文:传递给数据库 'model' 中的日志扫描操作的日志扫描号无效 状况描述:在服务器的管理中重新启动MSSQLSERVER启动后马上又停止   通过"事件查看器" 发现 错误: 9003,严重度: 20,状态: 1 LSN(5:324:1)无效。
1208 0
简书非官方大数据新思路
爬虫小分队的终极大任务就是简书大数据,以前也做过一次,阅读量也还可以。前段时间简书也是融资成功,简书也有一些改动,这次做分析也是一个不错的机会。 专题URL 这部分是没有变得,因为简书没有用户管理的url,我们只能从专题URL入手,依旧是热门和城市。
669 0
+关注
程序员对白
微信公众号:对白的算法屋,分享AI前沿算法和技术干货,回复「对白笔记」,即可领取我的原创算法笔记和工作心得。
188
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载