flume源码写磁盘_flume 源码

hacker|
136

文章目录:

什么是 flume 日志收集,flume的特性

您好,很高兴为您解答。

Flume最早是Cloudera提供的日志收集系统,目前是Apache下的一个孵化项目,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力 Flume提供了从console(控制台)、RPC(Thrift-RPC)、text(文件)、tail(UNIX tail)、syslog(syslog日志系统,支持TCP和UDP等2种模式),exec(命令执行)等数据源上收集数据的能力。

Flume采用了多Master的方式。为了保证配置数据的一致性,Flume引入了ZooKeeper,用于保存配置数据,ZooKeeper本身可保证配置数据的一致性和高可用,另外,在配置数据发生变化时,ZooKeeper可以通知Flume Master节点。Flume Master间使用gossip协议同步数据。

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

flume的特性:

(1) 可靠性

当节点出现故障时,日志能够被传送到其他节点上而不会丢失。Flume提供了三种级别的可靠性保障,从强到弱依次分别为:end-to-end(收到数据agent首先将event写到磁盘上,当数据传送成功后,再删除;如果数据发送失败,可以重新发送。),Store on failure(这也是scribe采用的策略,当数据接收方crash时,将数据写到本地,待恢复后,继续发送),Best effort(数据发送到接收方后,不会进行确认)。

(2) 可扩展性

Flume采用了三层架构,分别为agent,collector和storage,每一层均可以水平扩展。其中,所有agent和collector由master统一管理,这使得系统容易监控和维护,且master允许有多个(使用ZooKeeper进行管理和负载均衡),这就避免了单点故障问题。

3) 可管理性

所有agent和colletor由master统一管理,这使得系统便于维护。多master情况,Flume利用ZooKeeper和gossip,保证动态配置数据的一致性。用户可以在master上查看各个数据源或者数据流执行情况,且可以对各个数据源配置和动态加载。Flume提供了web 和shell script command两种形式对数据流进行管理。

(4) 功能可扩展性

用户可以根据需要添加自己的agent,collector或者storage。此外,Flume自带了很多组件,包括各种agent(file, syslog等),collector和storage(file,HDFS等)。

如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】

希望我的回答对您有所帮助,望采纳!

~ O(∩_∩)O~

如何配置flume每接收一条消息向hdfs提交一次

、Flume介绍

Flume布式、靠、高用海量志聚合系统支持系统定制各类数据发送用于收集数据;同Flume提供数据进行简单处理并写各种数据接受(定制)能力

flume搜集数据合并数据合并hdfsflume与hadoop相结合

复制代码

设计目标:

(1) 靠性

节点现故障志能够传送其节点丢失Flume提供三种级别靠性保障强弱依别:end-to-end(收数据agent首先event写磁盘数据传送功再删除;数据发送失败重新发送)Store on failure(scribe采用策略数据接收crash数据写本待恢复继续发送)Best effort(数据发送接收进行确认)

(2) 扩展性

采用三层架构别agentcollectorstorage每层均水平扩展其所agentcollector由master统管理使系统容易监控维护且master允许(使用ZooKeeper进行管理负载均衡)避免单点故障问题

(3) 管理性

所agentcolletor由master统管理使系统便于维护master情况Flume利用ZooKeepergossip保证态配置数据致性用户master查看各数据源或者数据流执行情况且各数据源配置态加载Flume提供web shell script command两种形式数据流进行管理

(4) 功能扩展性

如何编写Flume-ng-morphline-avro-sink

找到flume源码所在路径:

(C:\apache-flume-1.5.2-src\flume-ng-sinks),拷贝一份flume-ng-morphline-solr-sink目录到同级文件夹,将目录名称修改成flume-ng-morphline-avro-sink。

2

修改flume-ng-morphline-avro-sink

目录下的pom.xml文件。修改artifactId标签中内容为flume-ng-morphline-avro-sink。修改name标签中内容为Flume NG Morphline Avro Sink。注释掉properties标签中的solr.version和solr.expected.version两个标签内容。因为是原Solr中的内容,这里用不到。

3

在eclipse中打开flume-ng-sinks/pom.xml文件

一、 在Overview标签页中的Modules点击Add,找到flume-ng-morphline-avro-sink并选中确定,将新建的morphline-avro-sink添加到Modules中。这样在该pom文件的“pom.xml”标签页中就可以看到多了一个flume-ng-morphline-avro-sink。

什么是 flume 日志收集,flume的原理是什么,flume会遇到什么问题

、Flume介绍

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

flume可以搜集数据,合并数据。合并到什么地方,可以是hdfs。也就是flume可以与hadoop相结合

复制代码

设计目标:

(1) 可靠性

当节点出现故障时,日志能够被传送到其他节点上而不会丢失。Flume提供了三种级别的可靠性保障,从强到弱依次分别为:end-to-end(收到数据agent首先将event写到磁盘上,当数据传送成功后,再删除;如果数据发送失败,可以重新发送。),Store on failure(这也是scribe采用的策略,当数据接收方crash时,将数据写到本地,待恢复后,继续发送),Best effort(数据发送到接收方后,不会进行确认)。

(2) 可扩展性

采用了三层架构,分别为agent,collector和storage,每一层均可以水平扩展。其中,所有agent和collector由master统一管理,这使得系统容易监控和维护,且master允许有多个(使用ZooKeeper进行管理和负载均衡),这就避免了单点故障问题。

(3) 可管理性

所有agent和colletor由master统一管理,这使得系统便于维护。多master情况,Flume利用ZooKeeper和gossip,保证动态配置数据的一致性。用户可以在master上查看各个数据源或者数据流执行情况,且可以对各个数据源配置和动态加载。Flume提供了web 和shell script command两种形式对数据流进行管理。

(4) 功能可扩展性

1条大神的评论

  • avatar
    访客 2022-07-02 下午 01:31:49

    g(syslog日志系统,支持TCP和UDP等2种模式),exec(命令执行)等数据源上收集数据的能力。 Flume采用了多Master的方式。为了保证配置数据的一致性

发表评论