一、概述
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. springmvc/springboot处理前台字符串日期自动转换成后台date类型的三种办法

    参考https://blog.csdn.net/eumenides_/article/details/79033505 补充一个:Formatter也可以实现.

  2. Redis的系统级命令

    文章建立一个统一的认识就是Redis的版本是3.2.8 1:BGREWRITEAOF(bgrewriteaof) 执行一个 AOF文件 重写操作.重写会创建一个当前 AOF 文件的体积优化版本. 即使 ...

  3. 批量备份mysql数据库(shell编程)

    #!/bin/bash DBPATH=/mysqlbak MYUSER=root MYPASS= SOCKET=/var/lib/mysql/mysql.sock MYCMD="mysql ...

  4. Memory Leak Detection in Embedded Systems

    One of the problems with developing embedded systems is the detection of memory leaks; I've found th ...

  5. 小技巧:Mac下Metasploit渗透Oracle环境的搭建

    Metasploit是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报.这些功能包括智能开发,密码审计, ...

  6. [原]零基础学习SDL开发之在Android使用SDL2.0加载字体

    在上一篇文章我们知道了如何在android使用SDL2.0来渲染显示一张png图,而且在上上一篇我们知道如何使用sdl来渲染输出bmp图,那么sdl是否可以渲染输出自己喜爱的字体库的字体呢?答案是当然 ...

  7. 【C++】随机重命名MP3文件

    新置MP3一件,竟然没有随机播放的功能.坑啊!身为程序媛一枚,自己动手吧~ 获取当前路径: char buf[1000]; GetCurrentDirectory(1000,buf); string ...

  8. BZOJ2346:[Baltic 2011]Lamp(最短路)

    Description 2255是一个傻X,他连自己家灯不亮了都不知道. 某天TZ大神路过他家,发现了这一情况, 于是TZ开始行侠仗义了. TZ发现是电路板的问题, 他打开了电路板,发现线路根本没有连 ...

  9. Mac OS系统下配置hosts的方法

    首先,介绍下什么是hosts Hosts是一个没有扩展名的系统文件,可以用系统自带的记事本等工具打开,作用就是将一些常用的网址域名与其对应的IP地址建立一个关联,当用户在浏览器输入一个需要登录的网址时 ...

  10. JavaScript小游戏--2048(移动端)

    HTML5中新添加了很多事件,但是由于他们的兼容问题不是很理想,应用实战性不是太强,所以在这里基本省略,咱们只分享应用广泛兼容不错的事件,日后随着兼容情况提升以后再陆续添加分享.今天为大家介绍的事件主 ...