一、概述
flume是一个高效的、可靠的、可用的分布式海量日志数据收集、聚合、传输的工具。
Flume is a distributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts of log data.
二、flum的架构
三、flume的组件以及作用
client:客户端(运行agent的地方)
source: 数据源,负责接收数据
channel:管道,负责接收source端的数据,将数据推送到sink端。
sink:下沉器,负责去拉取channel的数据,将其持久化到存储系统。
 
interceptor: 拦截器,flume允许使用拦截器拦截数据,可以作用于source、sink端,flume还可以允许拦截器链。
 
selector:选择器,作用于source端,决定数据往哪个channel发送。
 
event:flume的事件,相当于一条数据。
agent:flume的客户端,一个agent运行在一个jvm里,它是flume的最小运行单元。
 
source的种类
avro\exec\spooling dir\syslogtcp\httpsource\kafka
 
channel的种类
file、memory、jdbc、kafka
sink的种类
avro、hdfs、kafka、hbase、logger
 
数据模型:
单一的数据模型:
多数据流模型:
 
四、flume的安装
flume0.9和1.x的版本
1. 0.9之前的 版本叫flume-og, 而1.x的版本叫flume-ng
2. 0.9区分逻辑和物理上的节点,而1.x不区分物理和逻辑上的节点,每一个agent都是一个服务。
3. 0.9需要master和zookeeper的支持,而1.x 不再需要这些组件的支持。
4. 0.9开发并不是很灵活,而1.x很灵活,
 
四、flume案例
avro+memory+logger
 
vi agentconf/avro-logger.conf
#Name the components on the agent
a1.sources=r1
a1.channel=c1
a1.sinks=s1
 
#describe source
s1.sources.r1.type = avro
s1.sources.r1.bind = 192.168.243.11
s1.sources.r1.port = 44444
 
#describe channel
a1.channels.c1.type = memory
 
#describe sinks
a1.sinks.s1.type = logger
 
#bind source and sink to the channel
a1.source.r1.channels = c1
a1.sinks.s1.channels = c1
 
启动agent
bin/flume-ng agent -c ./conf -f ./agentconf/avro-logger.conf -n a1 -Dflume.root.logger=INFO,console
 
测试
bin/flume-ng avro-client -c ./conf -H 192.168.243.11 -p 44444 -F /root/flumedata/test.dat

【Flume】数据采集引擎Flume的更多相关文章

  1. 带你看懂大数据采集引擎之Flume&采集目录中的日志

    一.Flume的介绍: Flume由Cloudera公司开发,是一种提供高可用.高可靠.分布式海量日志采集.聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于采集数据:同时,flum ...

  2. 大数据笔记(十九)——数据采集引擎Sqoop和Flume安装测试详解

    一.Sqoop数据采集引擎 采集关系型数据库中的数据 用在离线计算的应用中 强调:批量 (1)数据交换引擎: RDBMS <---> Sqoop <---> HDFS.HBas ...

  3. Flume数据采集结合etcd作为配置中心在爬虫数据采集处理中的架构实践。

    Apache Flume是一个分布式的.可靠的.可用的系统,用于有效地收集. 聚合和将大量日志数据从许多不同的源移动到一个集中的数据存储,但是其本身是以本地properties作为配置的,配置无法做到 ...

  4. Flume数据采集准备

    , flume的官网:http://flume.apache.org/ flume的下载地址:http://flume.apache.org/download.html 这里我们用的是apache版本 ...

  5. 详解大数据采集引擎之Sqoop&采集oracle数据库中的数据

    一.Sqoop的简介: Sqoop是一个数据采集引擎/数据交换引擎,采集关系型数据库(RDBMS)中的数据,主要用于在RDBMS与HDFS/Hive/HBase之间进行数据传递,可以通过sqoop i ...

  6. Flume官方文档翻译——Flume 1.7.0 User Guide (unreleased version)中一些知识点

    Flume官方文档翻译--Flume 1.7.0 User Guide (unreleased version)(一) Flume官方文档翻译--Flume 1.7.0 User Guide (unr ...

  7. Flume官方文档翻译——Flume 1.7.0 User Guide (unreleased version)(二)

    Flume官方文档翻译--Flume 1.7.0 User Guide (unreleased version)(一) Logging raw data(记录原始数据) Logging the raw ...

  8. 大数据技术之_09_Flume学习_Flume概述+Flume快速入门+Flume企业开发案例+Flume监控之Ganglia+Flume高级之自定义MySQLSource+Flume企业真实面试题(重点)

    第1章 Flume概述1.1 Flume定义1.2 Flume组成架构1.2.1 Agent1.2.2 Source1.2.3 Channel1.2.4 Sink1.2.5 Event1.3 Flum ...

  9. Flume OG 与 Flume NG 的对比

    Flume OG 与 Flume NG 的对比 1.Flume OG Flume OG:Flume original generation 即Flume 0.9.x版本,它由agent.collect ...

随机推荐

  1. Scrum团队开发

    Scrum学习心得 什么是scrum Scrum是迭代式增量软件开发过程,通常用于敏捷软件开发.Scrum包括了一系列实践和预定义角色的过程骨架.Scrum中的主要角色包括同项目经理类似的Scrum主 ...

  2. OLED中的Demura

    OLED作为一种电流型发光器件已越来越多地被应用于高性能显示中.由于它自发光的特性,与LCD相比,AMOLED具有高对比度.超轻薄.可弯曲等诸多优点.但是,亮度均匀性和残像仍然是它目前面临的两个主要难 ...

  3. 排查在 Azure 中创建、重启 Linux VM 或调整其大小时发生的分配故障

    创建 VM.重启已停止(解除分配)的 VM 和重设 VM 大小时,Azure 会为订阅分配计算资源. 执行这些操作时,即使尚未达到 Azure 订阅限制,也可能偶尔收到错误. 本文说明一些常见分配故障 ...

  4. 对sql作业的总结(不用group by 通过with as,exists实现分类)

    一次数据库作业 题目如下: Consider the following SQL table definitions: CREATE TABLE OlympicEvent ( Name text, Y ...

  5. 用QT写一个对话框

    打开QT creater创建取名去findDialog的项目,这个项目要基于QDialog.直接上FindDialog.h的头文件. #ifndef FINDDIALOG_H #define FIND ...

  6. dubbox源码分析(一)-服务的启动与初始化

    程序猿成长之路少不了要学习和分析源码的.最近难得能静得下心来,就针对dubbox为目标开始进行源码分析. [服务提供方] 步骤 调用顺序 备注 容器启动 com.alibaba.dubbo.conta ...

  7. Vue.js经典开源项目汇总

    Vue.js经典开源项目汇总 原文链接:http://www.cnblogs.com/huyong/p/6517949.html Vue是什么? Vue.js(读音 /vjuː/, 类似于 view) ...

  8. Codeforces Round #430 (Div. 2) 【A、B、C、D题】

    [感谢牛老板对D题的指点OTZ] codeforces 842 A. Kirill And The Game[暴力] 给定a的范围[l,r],b的范围[x,y],问是否存在a/b等于k.直接暴力判断即 ...

  9. django get_object_or_404

    django get_object_or_404 是django shortcuts模块里面一个比较简便的方法,特别是用django get来操作数据库的时候,可以帮 我们少写一些代码,加快开发速度. ...

  10. 【[USACO08NOV]奶牛混合起来Mixed Up Cows】

    首先我们能够一眼看到4 <= N <= 16,那么就是它了,我们要压缩的状态就是它了 那么之后能我们用这个状态表示什么呢,我们要表示的显然是每只奶牛是否在队伍中 比如说10吧,转成二进制后 ...