求教,flume写入hdfs问题

求教,flume写入hdfs问题,第1张

好像是这样的:

1. avro会将您茄做的日志收集起来吵返放到一个文件中,当它达到设定的大小是才执行“Renaming” *** 作(或者强制kill时执行);

2. UNBOUND也困扰我一段时间,我的结论是,这不是一句报错,不信您仔细看看,那一行根本没有“ERROR”之类的提示。UNBOUND只是表示,当前这个日志文件没有达到设定的大小,不需要“ Renaming”为升纳饥一个单独的文件。“ Renaming”之后一般会另起一个*.tmp文件开始写入。

这是我的理解,欢迎批评指正。

Flume是开源日志系统尺让世。是一个分布式、可靠性和高可用的海量日志聚合系统,支持在系统中定制各类数据发送方,用于收集数据;同时,FLume提供对数据进行简单处理,并写到各种数据接收方(可定制)的能力。

Flume是流式日志采集工具,FLume提供对数据进行简单处理并且写到各种数据接收方(可定制)的能力,Flume提供从本地文件(spooling directory source)、实时日志(taildir、exec)、REST消息、Thift、Avro、Syslog、Kafka等数据源上收集数据的能力。

Flume是收集、聚合事件流数据的分布式框架。

Flume分布式系统中最核心的角色是 agent ,Flume采集系统就是由一个个agent所连接起来形成

每一个agent相当于一个数据传递员 ,内部有三个组件:

Source 到Channel 到Sink之间传递数据的形式是Event事件; Event事件是一个数据流单元 。

Flume基础架构:Flume可以单节点直接采集数据,主要应用于集群内数据。

Flume多agent架构:Flume可以将多个节点连接起来,将最初的数据源经过收集,存储到最终的存储系统中。主要应用于集群外的数据导入到集群内。

各组件具体介绍如下:

Source负责接收events或通过特殊机制产生events,并将events批量放到一个或多个Channels。有驱动和轮询2中类型的Source。

Source必须至少和一个channel关联。

Source的类型如下:

Channel位于Source和Sink之间,Channel的作用类似队列,用于临时缓存进来的events,当Sink成功地将events发送到下一跳的channel或最终目的,events从Channel移除。

不同的Channel提供的持久化水平也是不一样的:

Channels支持事物,提供较弱的顺序保陵肢证,可以连接任何数量的Source和Sink。

Sink负责将events传输到下一跳或最终目的,成功完成后将events从channel移除。

必须作用于一个确切的channel。

Sink类型:

Flume支持将集群外的日志文件采集并归档到HDFS、HBase、Kafka上滑中,供上层应用对数据分析、清洗数据使用。

Flume支持将多个Flume级联起来,同时级联节点内部支持数据复制。

这个场景主要应用于:收集FusionInsight集群外上的节点上的日志,并通过多个Flume节点,最终汇聚到集群当中。

Flume级联节点之间的数据传输支持压缩和加密,提升数据传输效率和安全性。

在同一个Flume内部进行传输时,不需要加密,为进程内部的数据交换。

Source接收的数据量,Channel缓存的数据量,Sink写入的数据量,这些都可以通过Manager图形化界面呈现出来。

Flume在传输数据过程中,采用事物管理方式,保证数据传输过程中数据不会丢失,增强了数据传输的可靠性,同时缓存在channel中的数据如果采用了file channel,进程或者节点重启数据不会丢失。

Flume在传输数据过程中,如果下一跳的Flume节点故障或者数据接收异常时,可以自动切换到另外一路上继续传输。

Flume在传输数据过程中,可以见到的对数据简单过滤、清洗,可以去掉不关心的数据,同时如果需要对复杂的数据过滤,需要用户根据自己的数据特殊性,开发过滤插件,Flume支持第三方过滤插件调用


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12290823.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存