概念

Flume 是 Cloudera 提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。Flume 基于流式架构,灵活简单。

Flume is a distributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts of log data. It has a simple and flexible architecture based on streaming data flows. It is robust and fault tolerant with tunable reliability mechanisms and many failover and recovery mechanisms. It uses a simple extensible data model that allows for online analytic application.

为什么选用Flume

Flume最主要的作用就是:实时读取服务器本地磁盘的数据,将数据写入到HDFS

Flume 基础架构

Flume 架构中的组件:AgentSourceSinkChannelEvent

Agent

Agent 是一个 JVM 进程,它以事件的形式将数据从源头送至目的。

Agent 主要有 3 个部分组成,Source、Channel、Sink。

Source

Source 是负责接收数据到 Flume Agent 的组件。Source 组件可以处理各种类型、各种格式的日志数据,包括 avro、thrift、exec、jms、spooling directory、netcat(监控端口)、sequence generator、syslog、http、legacy。

Sink

Sink 不断地轮询 Channel 中的事件且批量地移除它们,并将这些事件批量写入到存储或索引系统、或者被发送到另一个 Flume Agent。

Sink 组件目的地包括 hdfs、logger、avro、thrift、ipc、file、HBase、solr、自定义。

Channel

Channel 是位于 Source 和 Sink 之间的缓冲区。因此,Channel 允许 Source 和 Sink 运作在不同的速率上。Channel 是线程安全的,可以同时处理几个 Source 的写入操作和几个Sink 的读取操作。

Flume 自带两种 Channel:Memory Channel 和 File Channel 以及 Kafka Channel。

Memory Channel 是内存中的队列。Memory Channel 在不需要关心数据丢失的情景下适用。如果需要关心数据丢失,那么 Memory Channel 就不应该使用,因为程序死亡、机器宕机或者重启都会导致数据丢失。

File Channel 将所有事件写到磁盘。因此在程序关闭或机器宕机的情况下不会丢失数据。

Event

传输单元,Flume 数据传输的基本单元,以 Event 的形式将数据从源头送至目的地。Event 由 HeaderBody 两部分组成,Header 用来存放该 event 的一些属性,为 K-V 结构,Body 用来存放该条数据,形式为字节数组。

快速入门

Flume 安装部署

安装地址

  1. Flume 官网地址

    Flume介绍和使用相关推荐

    1. 日志采集框架Flume、Flume介绍、概述、运行机制、Flume采集系统结构图(1、简单结构、复杂结构)

      1. 日志采集框架Flume 1.1 Flume介绍 1.1.1 概述 1.Flume是一个分布式.可靠.和高可用的海量日志采集.聚合和传输的系统. 2.Flume可以采集文件,socket数据包等各 ...

    2. 日志采集框架Flume、Flume介绍、概述、运行机制、Flume采集系统结构图(1、简单结构、复杂结构)...

      1. 日志采集框架Flume 1.1 Flume介绍 1.1.1 概述 1.Flume是一个分布式.可靠.和高可用的海量日志采集.聚合和传输的系统. 2.Flume可以采集文件,socket数据包等各 ...

    3. flume介绍与原理

      1 .背景 flume是由cloudera软件公司产出的可分布式日志收集系统,后与2009年被捐赠了apache软件基金会,为hadoop相关组件之一.尤其近几年随着flume的不断被完善以及升级版本 ...

    4. flume介绍及应用

      版权声明:本文为yunshuxueyuan原创文章. 如需转载请标明出处: http://www.cnblogs.com/sxt-zkys/ QQ技术交流群:299142667 flume的概念 1. ...

    5. 大数据flume日志采集系统详解

      一.flume介绍 flume 是一个cloudera提供的 高可用高可靠,分布式的海量日志收集聚合传输系统.Flume支持日志系统中定制各类数据发送方,用于收集数据.同时flume提供对数据进行简单 ...

    6. Hadoop教程(五):Flume、Sqoop、Pig、Hive、OOZIE

      在我们了解Flume和Sqoop之前,让我们研究数据加载到Hadoop的问题: 使用Hadoop分析处理数据,需要装载大量从不同来源的数据到Hadoop集群. 从不同来源大容量的数据加载到Hadoop ...

    7. 【原创】flume-1.3.0安装配置以及flume启动说明

      Flume介绍 一 flume基本介绍 Apache flume是一个分布式的.可靠的和可用的用来高效收集.同济和移动大量数据从众多不同sources到一个集中的数据存储库的系统. Flume eve ...

    8. flume的概述和运行机制

      Flume 介绍 概述 Flume是一个分布式.可靠.和高可用的海量日志采集.聚合和传输的系统. Flume可以采集文件,socket数据包.文件.文件夹.kafka等各种形式源数据,又可以将采集到的 ...

    9. Hadoop辅助工具——Flume、Sqoop

      前言 在一个完整的离线大数据处理系统中,除了hdfs+mapreduce+hive组成分析系统的核心之外,还需要数据采集.结果数据导出.任务调度等不可或缺的辅助系统,而这些辅助工具在hadoop生态体 ...

    最新文章

    1. python获取文件的大小_python获取文件大小
    2. 皮一皮:运气差,可能说的就是这个吧...
    3. Zend Framework 的 PHP 编码标准
    4. Python基础教程(一):简介、环境搭建、中文编码
    5. seo 伪原创_SEO干货——文章到底如何伪原创?
    6. CSS扩展“less和”sass“
    7. 梦回编程- 由LD_LIBRARY_PATH引发JNI的理解
    8. oracle sequences优化_Oracle优化(恒生内部常规分享)
    9. springboot sessionfactory_Spring Boot从入门到精通(五)多数据源配置实现及源码分析...
    10. 10010序列检测器的三段式状态机实现(verilog)
    11. Linux系统下,redis集群的搭建
    12. HowTo——cotex-m3处理器HardFault事后分析方法
    13. 字体凹陷效果html,在PS中,想做凹进去的效果,怎么做?例如文字凹进木板中?...
    14. 三星正在完成android更新,三星发布Android 10更新计划表!又三款机型被选中,有你的吗?...
    15. 数据技术之Hadoop(HFDS文件系统)
    16. java解压obb_obb文件怎么解压 打开obb文件的注意事项 - 驱动管家
    17. java按钮添加图片_java 如何插入含有图片的按钮
    18. 自动驾驶3D目标检测研究综述
    19. 使用iTEXT生成PDF
    20. 层次分析法的简单应用

    热门文章

    1. OSI模型 四层发现-nmap(诸神之眼)工具介绍
    2. sql是什么mysql是什么_sql是什么意思
    3. mysql的default_sql语句中default是什么意思?
    4. echarts图表x轴基准线(平行y轴)
    5. OIS利率查询_图表加数据OIS隔夜基准利率掉期
    6. 利用mammoth.js将doc文档转为html
    7. jquery之购物商城
    8. 关于 Android O 的 treble/hidl
    9. 【Java入门】--键盘输入月份,控制台返回对应英文月份。
    10. 白领沉迷EXCEL式生存