美文网首页我爱编程
flume(一)、flume简介

flume(一)、flume简介

作者: yezide | 来源:发表于2018-01-28 17:06 被阅读0次

转载自csdn-blog

1. flume的背景

flume是由cloudera软件公司产出的可分布式日志收集系统,后与2009年被捐赠了apache软件基金会,为hadoop相关组件之一。尤其近几年随着flume的不断被完善以及升级版本的逐一推出,特别是flume-ng;同时flume内部的各种组件不断丰富,用户在开发的过程中使用的便利性得到很大的改善,现已成为apache top项目之一.

2. flume是什么?

flume是分布式、可靠的、可用性好的服务;用于收集、聚合、移动大量日志数据。基于流计算的灵活架构,用于在线分析。

3.flume的优点

(1)可以与任意集中式存储进程集成。
(2)输入的速率大于写入存储目的地的速率,flume会进行缓冲。
(3)flume提供上下文路由(数据流路线)。
(4)flume的事务基于channe,flume有两个事务模型(sender+receiver)确保消息被可靠发送。
(5)Flume是可靠的,容错性高的,可升级的,易管理的,并且可定制的。

4.flume的特点

(1) Flume可以高效率的将多个网站服务器中收集的日志信息存入HDFS/HBase中
(2)使用Flume,我们可以将从多个服务器中获取的数据迅速的移交给Hadoop中
(3)除了日志信息,Flume同时也可以用来接入收集规模宏大的社交网络节点事件数据,比如facebook,twitter,电商网站如亚马逊,flipkart等
(4)支持各种接入资源数据的类型以及接出数据类型
(5)支持多路径流量,多管道接入流量,多管道接出流量,上下文路由等
(6)可以被水平扩展

5.flume的架构

(1)描述
数据发生器(如:facebook,twitter)产生的数据被被单个的运行在数据发生器所在服务器上的agent所收集,之后数据收容器从各个agent上汇集数据并将采集到的数据存入到HDFS或者HBase中
(2)flume event(事件)
事件作为Flume内部数据传输的最基本单元.它是由一个转载数据的字节数组(该数据组是从数据源接入点传入,并传输给传输器,也就是HDFS/HBase)和一个可选头部构成.
我们在将event在私人定制插件时比如:flume-hbase-sink插件是,获取的就是event然后对其解析,并依据情况做过滤等,然后在传输给HBase或者HDFS.
(3)Flume Agent
我们在了解了Flume的外部结构之后,知道了Flume内部有一个或者多个Agent,然而对于每一个Agent来说,它就是一共独立的守护进程(JVM),它从客户端哪儿接收收集,或者从其他的 Agent哪儿接收,然后迅速的将获取的数据传给下一个目的节点sink,或者agent. 如下图所示flume的基本模型.

Agent主要由:source,channel,sink三个组件组成.
Source:
从数据发生器接收数据,并将接收的数据以Flume的event格式传递给一个或者多个通道channal,Flume提供多种数据接收的方式,比如Avro,Thrift,twitter1%等
Channel:
channal是一种短暂的存储容器,它将从source处接收到的event格式的数据缓存起来,直到它们被sinks消费掉,它在source和sink间起着一共桥梁的作用,channal是一个完整的事务,这一点保证了数据在收发的时候的一致性. 并且它可以和任意数量的source和sink链接. 支持的类型有: JDBC channel , File System channel , Memort channel等.
sink:
sink将数据存储到集中存储器比如Hbase和HDFS,它从channals消费数据(events)并将其传递给目标地. 目标地可能是另一个sink,也可能HDFS,HBase.

它的组合形式举例:


image.png image.png

6.Flume插件

(1) Interceptors拦截器
用于source和channel之间,用来更改或者检查Flume的events数据
(2) 管道选择器 channels Selectors
在多管道是被用来选择使用那一条管道来传递数据(events). 管道选择器又分为如下两种:
默认管道选择器: 每一个管道传递的都是相同的events
多路复用通道选择器: 依据每一个event的头部header的地址选择管道.
(3)sink线程
用于激活被选择的sinks群中特定的sink,用于负载均衡.

相关文章

  • Flume入门

    Flume简介     Flume is a distributed, reliable, and availab...

  • java大数据之flume

    一、Flume简介 1.1 Flume的位置 1.2 Flume是什么 (1)Flume提供一种分布式的,可靠地,...

  • flume(一)、flume简介

    转载自csdn-blog 1. flume的背景 flume是由cloudera软件公司产出的可分布式日志收集系统...

  • Flume 学习之路(一)Flume 概述和基本架构

    作者:studytime原文:https://www.studytime.xin/ Flume 简介 Flume ...

  • Flume读取Tomcat日志文件传输到Kafka

    一、Flume简介 二、Flume架构 Flume架构主要有三个组件:Source、Channel和Sink。 W...

  • Flume实践

    Flume简介 flume 作为 cloudera 开发的实时日志收集系统,受到了业界的认可与广泛应用。Flume...

  • Flume快速入门

    一、Flume简介 1.1 Flume概述: Flume是开源日志系统。是一个分布式、可靠性和高可用的海量日志聚合...

  • 090-BigData-18Flume

    上一篇:089-BigData-17ZooKeeper秒杀和hadoop高可用 一、Flume简介 Flume提供...

  • 数据采集之Flume+Kafka

    Flume简介 1. Flume特点 flume是收集日志的开源软件解决方案之一,相对于其他同类软件他具有高可用的...

  • Flume

    总结 一、Flume的定义 1、flume的优势 2、flume的组成 3、flume的架构 二、 flume部署...

网友评论

    本文标题:flume(一)、flume简介

    本文链接:https://www.haomeiwen.com/subject/pafzaxtx.html