最近两天,仔细的看了一下Flume中央日志系统(版本号:1.3.X),Flume在本人看来,还是一个非常不错的日志收集系统的,其设计理念非常易用,简洁。并且是一个开源项目,基于Java语言开发,可以进行一些自定义的功能开发。运行Flume时,机器必须安装装JDK6.0以上的版本,并且,Flume目前只有Linux系统的启动脚本,没有Windows环境的启动脚本。
Flume主要由3个重要的组件购成:
Source:完成对日志数据的收集,分成transtion 和 event 打入到channel之中。
Channel:主要提供一个队列的功能,对source提供中的数据进行简单的缓存。
Sink:取出Channel中的数据,进行相应的存储文件系统,数据库,或者提交到远程服务器。
对现有程序改动最小的使用方式是使用是直接读取程序原来记录的日志文件,基本可以实现无缝接入,不需要对现有程序进行任何改动。
对于直接读取文件Source,有两种方式:
ExecSource:以运行Linux命令的方式,持续的输出最新的数据,如tail -F 文件名指令,在这种方式下,取的文件名必须是指定的。
SpoolSource:是监测配置的目录下新增的文件,并将文件中的数据读取出来。需要注意两点:
1、拷贝到spool目录下的文件不可以再打开编辑。2、spool目录下不可包含相应的子目录。在实际使用的过程中,可以结合log4j使用,使用log4j的时候,将log4j的文件分割机制设为1分钟一次,将文件拷贝到spool的监控目录。log4j有一个TimeRolling的插件,可以把log4j分割的文件到spool目录。基本实现了实时的监控。Flume在传完文件之后,将会修改文件的后缀,变为.COMPLETED(后缀也可以在配置文件中灵活指定)
ExecSource,SpoolSource对比:ExecSource可以实现对日志的实时收集,但是存在Flume不运行或者指令执行出错时,将无法收集到日志数据,无法何证日志数据的完整性。SpoolSource虽然无法实现实时的收集数据,但是可以使用以分钟的方式分割文件,趋近于实时。如果应用无法实现以分钟切割日志文件的话,可以两种收集方式结合使用。
Channel有多种方式:有MemoryChannel,JDBC Channel,MemoryRecoverChannel,FileChannel。MemoryChannel可以实现高速的吞吐,但是无法保证数据的完整性。MemoryRecoverChannel在官方文档的建议上已经建义使用FileChannel来替换。FileChannel保证数据的完整性与一致性。在具体配置不现的FileChannel时,建议FileChannel设置的目录和程序日志文件保存的目录设成不同的磁盘,以便提高效率。
Sink在设置存储数据时,可以向文件系统中,数据库中,hadoop中储数据,在日志数据较少时,可以将数据存储在文件系中,并且设定一定的时间间隔保存数据。在日志数据较多时,可以将相应的日志数据存储到Hadoop中,便于日后进行相应的数据分析。
- 大小: 13.7 KB
分享到:
相关推荐
Flume是一种分布式的、可靠的系统,它主要用于从各种不同来源有效收集、聚集和传输大量的日志数据到集中式的数据存储中心。由于其优异的性能和可靠性,Flume成为了Apache的顶级项目之一。 Flume的核心概念包括以下...
### Flume 1.6.0 入门详解:安装、部署及案例分析 #### 一、Flume 概述 Flume 是 Cloudera 开发的一款高效、可靠且易于扩展的日志收集系统,适用于大数据环境下的日志采集任务。Flume 的初始版本被称为 FlumeOG...
Flume-NG 安装与配置指南 Flume-NG 是一个分布式日志收集系统,能够从各种数据源中实时采集数据,并将其传输到集中式存储系统中。本文将指导您完成 Flume-NG 的安装和基本配置。 安装 Flume-NG 1. 先决条件:...
Apache Flume 是一个分布式、可靠且可用的数据收集系统,用于高效地聚合、移动和加载大量日志数据到集中式存储系统,如Hadoop HDFS。它设计为容错性强,可扩展,允许从多个源收集数据,并将其流向目标,如数据仓库或...
Flume从1.5.0版本开始,重构了其内部架构,核心组件、配置以及代码架构都进行了重大改动,这个新版本被称为Flume NG(Next Generation),即Flume的新一代版本,用以替代了原来的Flume OG(Original Generation)。...
尚硅谷大数据技术之Flume Flume 是 Cloudera 提供的一个高可用的、 高可靠的、分布式的海量日志采集、聚合和传输的系统。 Flume 基于流式架构,灵活简单。 1.1 Flume 定义 Flume 是一个高可用的、 高可靠的、...
flume支持RabbitMQ插件
### Flume+kafka+Storm整合知识点详解 #### 一、Flume、Kafka与Storm概述 在大数据领域,数据采集、传输与实时处理是至关重要的环节。本篇内容重点介绍了如何利用Flume、Kafka与Storm这三个开源工具实现一套完整的...
Flume-ng 在 Windows 环境搭建并测试 + Log4j 日志通过 Flume 输出到 HDFS Flume-ng 是一个高可用、可靠、分布式的日志聚合系统,可以实时地从各种数据源(如日志文件、网络 socket、数据库等)中收集数据,并将其...
Flume 是 Apache 开源项目提供的一款分布式、可靠且可用于有效收集、聚合和移动大量日志数据的工具。它设计用于高可用性和高可靠性,使得在大数据环境中处理流式数据变得简单。在描述中提到的问题是关于 Flume 不...
Apache Flume 是一个分布式、可靠且可用的服务,用于有效地收集、聚合和移动大量日志数据。它是Apache Hadoop生态系统的一部分,特别设计用于处理和传输大规模流式数据。Flume通过简单而灵活的架构实现了数据的高效...
Flume安装详细步骤 Flume是一款基于Java的分布式日志收集系统,主要用于收集和传输大规模日志数据。下面是Flume安装的详细步骤: Step 1: 安装JDK环境 在安装Flume之前,需要确保JDK环境已经安装。这里我们使用...
Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可...
Flume 1.8 安装部署 Flume 是一个分布式、可靠、可扩展的日志收集、聚合和移动系统,广泛应用于大数据和实时数据处理领域。以下是 Flume 1.8 安装部署的详细步骤和相关知识点。 一、准备工作 1. 下载 apache ...
根据提供的文档信息,本文将详细解析Flume的基本概念、Flume事件的概念与原理,并进一步探讨其在大数据领域的应用价值。 ### 一、Flume基本概念 #### 1.1 Flume简介 Flume是由Cloudera公司开源的一种分布式、可靠...
在大数据实时处理领域,Flume、Kafka 和 Spark Streaming 是常用的数据采集、传输与处理工具。本实验报告详细阐述了如何将这三个组件结合使用,构建一个高效的数据流处理系统。 一、Flume 与 Spark Streaming 的...
《Flume:大数据实时数据采集详解》 Apache Flume 是一个分布式、可靠且可用于有效收集、聚合和移动大量日志数据的系统。它设计简洁,易于配置,是大数据环境中进行实时数据流处理的重要工具。Flume 的核心概念包括...
**大数据Ambari之flume集成编译好的源码包** Apache Ambari 是一个用于管理和监控Hadoop集群的开源工具,它提供了直观的Web界面和RESTful API,使得安装、配置、管理Hadoop生态系统变得更加简单。Flume是Apache的一...
Apache Flume 是一个分布式、可靠且可用于有效收集、聚合和移动大量日志数据的系统。在本文档中,我们将深入探讨Flume的安装部署以及配置文件的使用。 首先,要安装Flume,你需要访问官方网站...
【Flume】 Flume是Apache Hadoop项目的一部分,专门设计用于高效地收集、聚合和移动大规模日志数据。它的核心架构基于事件流,具备分布式、高可靠性和高可用性。Flume通过agent来实现数据采集,每个agent包含source...