Flume是Cloudera提供的日志收集系统,具有分布式、高可靠、高可用性等特点,对海量日志采集、聚合和传输, Flume支持在日志系统中定制各类数据发送方, 同时,Flume提供对数据进行简单处理,并写到各种数据接受方的能力.

Flume 部署结构

  flume架构简单,可靠,灵活, 数据流(data flow)是flume中最主要的抽象,data flow描述了数据从产生,传输、处理并最终写入目的地的一条路径, 数据流由一系列逻辑节点组成,它们能对接受到的事件(EVENT)进行传输,聚合等操作(在上图中,实线描述了data flow)
   Agent: 用于采集数据,agent是flume中产生数据流的地方,同时,agent会将产生的数据流传输到collector。
  Collector: 用于接受数据,对数据进行聚合,往往会产生一个更大的流。

逻辑节点
   逻辑节点是一个非常灵活的抽象, 每一个逻辑节点都有两个组件组成(source 和 sink),source告诉逻辑节点从哪里去收集数据,sink告诉逻辑节点将数据发送到什么地方.在source与sink之间可以添加一些装饰器, 用于对经过的数据(event)做简单处理

逻辑节点与物理节点
   理解逻辑节点和物理节点之间的区别很重要,物理节点对应于一台机器上的单独的一个JVM进程, 通常一台物理机器对应一个物理节点, 物理节点可以作为逻辑节点的容器, 一个物理节点可以映射出多个逻辑节点,这些逻辑节点链接成一起, 形成数据流

flume 设计目标 【Reliability,Scalability,Manageability,Extensibility】
  Reliability:Flume提供3中数据可靠性选项,包括End-to-end, Store on failure和Best effort, 其中End-to-end使用了磁盘日志和接受端Ack的方式,保证Flume接受到的数据会最终到达目的.Store on failure在目的不可用的时候,数据会保持在本地硬盘。和End-to-end不同的是,如果是进程出现问题,Store on failure可能会丢失部分数据.Best effort不做任何QoS保证。
  Scalability:Flume的3大组件:collector、master和storage tier都是可伸缩的。需要注意的是,Flume中对事件的处理不需要带状态,它的Scalability可以很容易实现
  Manageability:Flume利用ZooKeeper和gossip,保证配置数据的一致性、高可用。同时,多Master,保证Master可以管理大量的节点.
  Extensibility:基于Java,用户可以为Flume添加各种新的功能,如通过继承Source,用户可以实现自己的数据接入方式,实现Sink的子类,用户可以将数据写往特定目标,同时,通过SinkDecorator,用户可以对数据进行预处理。

本文出自 “yyj0531” 博客,请务必保留此出处http://yaoyinjie.blog.51cto.com/3189782/818739

分布式日志收集系统- Cloudera Flume 介绍的更多相关文章

  1. 分布式日志收集系统Apache Flume的设计详细介绍

    问题导读: 1.Flume传输的数据的基本单位是是什么? 2.Event是什么,流向是怎么样的? 3.Source:完成对日志数据的收集,分成什么打入Channel中? 4.Channel的作用是什么 ...

  2. 分布式日志收集系统:Flume

    Flume知识点: Event 是一行一行的数据 1.flume是分布式的日志收集系统,把收集来的数据传送到目的地去. 2.flume里面有个核心概念,叫做agent.agent是一个java进程,运 ...

  3. Flume -- 开源分布式日志收集系统

    Flume是Cloudera提供的一个高可用的.高可靠的开源分布式海量日志收集系统,日志数据可以经过Flume流向需要存储终端目的地.这里的日志是一个统称,泛指文件.操作记录等许多数据. 一.Flum ...

  4. Flume分布式日志收集系统

    1.flume是分布式的日志收集系统,把收集来的数据传送到目的地去.2.flume里面有个核心概念,叫做agent.agent是一个java进程,运行在日志收集节点.通过agent接收日志,然后暂存起 ...

  5. flume分布式日志收集系统操作

    1.flume是分布式的日志收集系统,把收集来的数据传送到目的地去. 2.flume里面有个核心概念,叫做agent.agent是一个java进程,运行在日志收集节点. 3.agent里面包含3个核心 ...

  6. 分布式日志收集系统 —— Flume

    一.Flume简介 Apache Flume 是一个分布式,高可用的数据收集系统.它可以从不同的数据源收集数据,经过聚合后发送到存储系统中,通常用于日志数据的收集.Flume 分为 NG 和 OG ( ...

  7. 分布式日志收集系统--Chukwa

    1. 安装部署 1.1 环境要求 1.使用的JDK的版本必须是1.6或者更高版本,本实例中使用的是JDK1.6 2.使用的hadoop的版本必须是Hadoop0.20.205.1及以上版本,本实例中使 ...

  8. 分布式日志收集收集系统:Flume(转)

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

  9. 基于Flume的美团日志收集系统(一)架构和设计

    美团的日志收集系统负责美团的所有业务日志的收集,并分别给Hadoop平台提供离线数据和Storm平台提供实时数据流.美团的日志收集系统基于Flume设计和搭建而成. <基于Flume的美团日志收 ...

随机推荐

  1. C#/.Net Post获取数据流的一种简单写法

    最近在弄一些第三方的平台,经常调用第三方的接口实现某些特定的功能 在实现的同时基本上都需要本地的数据经过服务器在Request到第三方的服务器中处理,再返回相应的数据结构体:json/xml 以下是我 ...

  2. java学习——abstract 和 final

    当多个类中出现相同功能,但是功能主题不同,这时可以进行向上抽取.这时只抽取功能定义,而不抽取功能主体. 抽象:看不懂.1, 抽象方法一定定义在抽象类中.2, 抽象方法和抽象类都必须被abstract关 ...

  3. cocos2d-x 2.2.6中c++通过JNI与java互调

    1.HelloCpp.java /**************************************************************************** Copyri ...

  4. Delphi Length函数

    unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...

  5. R语言数据合并使用merge数据追加使用rbind和cbind

    R语言中的横向数据合并merge及纵向数据合并rbind的使用 我们经常会遇到两个数据框拥有相同的时间或观测值,但这些列却不尽相同.处理的办法就是使用merge(x, y ,by.x = ,by.y ...

  6. 优先队列(和fence repair完全一样)

    懒省事的小明 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述       小明很想吃果子,正好果园果子熟了.在果园里,小明已经将所有的果子打了下来,而且按果子的不同种 ...

  7. Unix 环境高级编程 (APUE) 之 网络 IPC:套接字

    一起学 Unix 环境高级编程 (APUE) 之 网络 IPC:套接字 . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级 ...

  8. HTML实体符号

    http://www.php100.com/html/program/html/2013/0903/1052.html

  9. Qt之Windows资源文件(.rc文件)

    简述 在Windows下使用Qt时,通常会用到Windows的资源文件 - 为exe设置信息,其中包括:文件说明.产品名称.产品版本.版权等信息... 由于是Windows平台相关的东西,Qt助手中对 ...

  10. 苹果开发证书相关BLOG与Delphi IOS环境安装(超详细)

    注:有好的资源,请添加了上传,上传后,通知管理员,删除旧文件,累积相关的学习资源,方便新手学习 一.相关论坛http://www.2ccc.com/ delphi 合子 www.2pascal.com ...