Apache Flume是一个高可用的分布式系统.可以从多种不同的数据源高效的收集大量log数据至起中央数据仓库中.
Flume不仅仅可以用于收集log数据.由于数据源是可以自定义的,所以Flume可以用作传输大量复杂的事件数据,包括但不限于网络流量的采集,社交媒体数据的采集,电子邮件信息的采集,以及传输其他众多种类数据,正因为sources是自定义的,flume让这些成为了可能.
Apache FLume 在Apache 基金会中是一个顶级项目.
现在有两个发布了的产品线,版本号0.9x 和 1.x.
本文档适用于1.4.x产品线.
推荐使用1.x版本的flume,因为在1.x中flume更好的融合了新的技术,提高了性能,提升了配置的灵活性.
1.jre要求-1.7或更高
2.内存要求-source,channel,sink用到的内存要有充足的空间
3.磁盘空间要求-channel或sink用到的磁盘需要保证磁盘空间充足
4.目录权限-对于agent用到的目录要有读写权限
在Flume中具有有效载荷的字节以及可选择的字符串属性称为一个flume事件.flume中agent是一个java进程,由它将事件流从寄主某个部件的外部数据源转发或运送到下一个目的地.
Flume的Source组件可以处理外部资源如web服务器.外部数据源通过发送特定格式的事件到Flume中,可被Flume识别为Flume的source.举个例子Avro Flume Source可以用作接受从Avro客户端或其他Flume agents发送来的rpc数据流(从AvroSink发送出的事件).一个简单的流可以通过Flume的第三方协议使得第三方的FlumeSource从第三方的Sink或Flume第三方RPC客户端或第三方客户端发送来的数据(可以基于任何语言,只要满足该协议即可).当Flume的Source接收到一个事件时.它可以将该事件存储到一个或多个channel中.Channel是被动接受消息的,它在接收到事件后会一直缓存住该事件,直到该事件被Flume的sink组件消费.File Channel就是一个很好的例子-它基于本地文件系统.sink将会从channel中接收该事件,然后把这个事件存储到外部的仓库中,如可以存储到HDFS中(通过使用Flume HDFS Sink来完成此功能)或者继续通过下一个FlumeAgent将该事件流转发到Flume source组件中.Source或Sink在Agent中异步的将事件存储在channel中.
当事件到达最终目的地前需要穿过多个agent,Flume允许用户构建一个多级的流.所以Flume呢同样允许扇入/扇出,上下文路由,故障切换等功能.
对于每个agent来说,事件是分段存储在channel中的.然后事件流将会分发到下一个agent或者最终的数据仓库(如HDFS).只有在事件存储到下一个agent的channel或者最终的数据仓库时,该事件才会从原有的channel中删除.这就是Flume可以对流提供可靠地端对端的保障机制.
Flume使用一种传统的方法去保证事件分发的可靠性.对于这些将被放入channel的事件,Source或Sink的存储或转发会封装在一个事务中.从而保证了事件在流式点对点处理中是可靠地.在多个流的情况下,sink将会开启事物处理,从而保证这些事件从前一个hop到下一个hop是安全可靠的(hop我猜的意思可能是agent?).
事件将会存储在Channel中,从而可以在发生错误或失败时将该部分数据恢复.Flume通过操作本地文件系统,支持了可持久化的FIleChannel.当然,也有很多MemoryChannel,她们能够很简单的将事件存储到内存队列中,速度也很快,但是如果agent进程被杀死时,仍有事件存留在MemoryChannel中,那么这部分事件将不能恢复.
相关推荐
在标题中的"apache-flume-1.7.0-bin.tar.gz"是一个压缩包,包含了Flume的1.7.0版本的二进制发行版。这个版本提供了执行Flume服务所需的全部组件和依赖,使得开发者和系统管理员可以方便地在他们的环境中安装和运行...
这个名为 "apache-flume-1.7.0-bin.tar.zip" 的压缩包包含 Apache Flume 的 1.7.0 版本的二进制文件。文件以 `.tar.gz` 格式压缩,这是一种常见的在 Unix-like 系统上使用的文件打包和压缩格式,它首先使用 `tar` ...
标题中的"Apache-flume-1.7.0-bin.tar.gz"指的是该软件的1.7.0版本的二进制打包文件,通常这种格式的文件是用于Linux或类Unix系统的。 **Flume 的主要组件:** 1. **Source(源)**:Source 是 Flume 中数据流入的...
在使用“apache-flume-1.7.0-bin.zip”之前,需要先解压文件,然后根据提供的文档或在线资源配置Flume的配置文件。配置完成后,可以通过启动Flume服务来开始数据采集。需要注意的是,Flume的版本兼容性,确保其与...
Flume 是Cloudera提供的分布式数据收集系统,它能够将不同数据源的海量日志数据进行高效的收集、聚合、移动,最后存储到存储中心。Flume NG支持(故障转移)failover和负载均衡。
apache-flume-1.7.0-bin.tar.gz.baiduyun
在 `hadoop_apache-flume-1.7.0-bin` 压缩包中,包含了Flume的二进制发行版,用户可以直接使用这些文件在系统上部署和运行Flume。以下是一些关键组件和配置的详解: 1. **配置文件**:Flume 使用基于文本的配置文件...
修改以后的flume-ng-core-1.7.0.jar,将原来的文件按行读取修改为按文件读取。使用时,直接替换到集群中flume安装目录下面lib文件夹中的flume-ng-core-1.7.0.jar即可使用。
flume-ng-hdfs-sink-1.7.0.jar,这个包里包含了flume和HDFS集成的所有类
Flume 是 Apache 开源项目中的一个分布式、可靠且可用于有效收集、聚合和移动大量日志数据的工具。在大数据处理领域,它是一个重要的数据采集框架,尤其适用于实时数据流的采集。Flume 1.7.0 版本是该软件的一个稳定...
通过修改Flume源码flume-ng-core-1.7.0.jar,解决Flume传出单行日志上限2048的问题,下载替换flume的lib目录下的原flume-ng-core-1.7.0.jar即可
1. **bin** 目录:包含可执行脚本,如 `flume-ng` 和 `flume-agent`,用于启动、停止和管理 Flume 代理。 2. **conf** 目录:存放配置文件,例如 `flume.conf`,这是默认的配置文件,用户可以在这里定义数据流的结构...
Flume-NG 是一个分布式日志收集系统,能够从各种数据源中实时采集数据,并将其传输到集中式存储系统中。本文将指导您完成 Flume-NG 的安装和基本配置。 安装 Flume-NG 1. 先决条件:Java JDK 安装 在安装 Flume-...
Flume 是Cloudera提供的分布式数据收集系统,它能够将不同数据源的海量日志数据进行高效的收集、聚合、移动,最后存储到存储中心。Flume支持(故障转移)failover和负载均衡。
flume-1.5.0-cdh5.3.6。 大数据日志收集工具 flume-1.5.0-cdh5.3.6。 大数据日志收集工具flume-1.5.0-cdh5.3.6。 大数据日志收集工具flume-1.5.0-cdh5.3.6。 大数据日志收集工具flume-1.5.0-cdh5.3.6。 大数据日志...
Flume-ng-1.6.0-cdh.zip 内压缩了 3 个项目,分别为:flume-ng-1.6.0-cdh5.5.0.tar.gz、flume-ng-1.6.0-cdh5.7.0.tar.gz 和 flume-ng-1.6.0-cdh5.10.1.tar.gz,选择你需要的版本。
Flume-ng-sql-source-1.5.2是Apache Flume的一个扩展,它允许Flume从SQL数据库中收集数据。Apache Flume是一个分布式、可靠且可用于有效聚合、移动大量日志数据的系统。"ng"代表"next generation",表明这是Flume的...
Flume-ng-sql-source是Apache Flume的一个扩展插件,主要功能是允许用户从各种数据库中抽取数据并将其传输到其他目的地,如Apache Kafka。在本案例中,我们讨论的是版本1.5.2的发布包,即"flume-ng-sql-source-...
注意:flume-interceptor-1.0-SNAPSHOT.jar flume-interceptor-1.0-SNAPSHOT.jar flume-interceptor-1.0-SNAPSHOT.jar flume-interceptor-1.0-SNAPSHOT.jar flume-interceptor-1.0-SNAPSHOT.jar flume-interceptor-...
flume-ng-sql-source-1.5.2.jar从数据库中增量读取数据到hdfs中的jar包