行业报告 AI展会 数据标注 标注供求
数据标注数据集
主页 > 数据挖掘 > 正文

如何使用Apache Flume抓取数据

如何Apache Flume抓取数据,在抓取的过程中应该注意什么问题,本文简单介绍了以上问题。

一、什么是Apache Flume

Apache Flume是用于数据采集的高性能系统 ,名字来源于原始的近乎实时的日志数据采集工具,现在广泛用于任何流事件数据的采集,支持从很多数据源聚合数据到HDFS。

最初由Cloudera开发 ,在2011年贡献给了Apache基金会 ,在2012年变成了Apache的顶级项目,Flume OG升级换代成了Flume NG。

Flume具有横向扩展、延展性、可靠性的优势

二、Flume 体系结构

Source:接受外部系统生成event

Sink:发送event到指定的目的地

Channel:从Source缓存event,直到Sink把event取走

Agent:一个独立的Flume进程,包含了source,channel和sink组件

三、Flume设计目标:可靠性

Channels提供了Flume可靠性保障 ,那么它通过什么样的方式来保障呢?默认的模式就是Memory Channel,Memory Channel就是内存,所有的数据存放在内存当中。那么,这里就会存在一个问题?如果Channel的节点出现断电,数据就会丢失。为解决这一问题,这里有另外一种模式,就是基于磁盘的Channel,基于磁盘的队列确保出现断电时数据不丢失 。

另外,Agent和Channel之间的数据传输是事务性的 ,传输给下游agent失败的数据会回滚和重试 。相同的任务可以配置多个Agent,

比如,两个agent完成一个数据采集作业,如果一个agent失败,则上游的agent会失败切换到另一个。

四、Flume设计目标:扩展性

当我们采集的数据特别多的时候,可以通过添加更多的系统资源从而线性地增加系统性能。而且Flume可横向的扩展规模 ,随着复杂增加,可以添加更多的机器到配置当中 。

五、Flume设计目标:延展性

延展性就是能够添加新的功能到系统中。Flume通过添加Sources和Sinks到现有的存储层或数据平台,常见的Sources包括files、syslog和任何linux进程的标准输出的数据;常用Sinks包括本地文件系统或HDFS,开发员可以写自己的Sources或Sinks。

六、常见的Flume数据源

 

 

七、大规模部署实例

Flume使用agents收集数据 ,Agents可以从很多源接收数据,包括其他agents。大规模的部署使用多层来实现扩展性和可靠,Flume支持传输中数据的检查和修改。

 

 

以上是关于Apache Flume的部分详情介绍,后续将会继续分享。大数据将会是未来的风口,要想很好的站在风口上,就要持续不断地学习和努力。

来源:知乎专栏

微信公众号

声明:本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,不为其版权负责。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。

网友评论:

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
最新文章
SEM推广服务
热门文章
热点图文

Copyright©2005-2026 Sykv.com 可思数据 版权所有    京ICP备14056871号

关于我们   免责声明   广告合作   版权声明   联系我们   原创投稿   网站地图  

可思数据 数据标注行业联盟

扫码入群
扫码关注

微信公众号

返回顶部