大数据协作框架之Flume
2017-08-12 16:45
204 查看
一、Flume概述
Flume是一个分布式的,可靠的,可用的,非常有效率的对大数据量的日志数据进行收集、聚集、移动信息的服务。Flume仅仅运行在Linux环境下。它是一个基于流式的数据的非常简单的(只需要写一个配置文件)、灵活的架构,它也是一个健壮的、容错的。它用一个简单的扩展数据模型用于在线实时应用分析。它的简单表现为:写个source、channel、sink,之后一条命令就能操作成功了。
Flume、kafka实时的进行数据收集,spark,storm实时去处理,impala实时去查询。
二、Flume架构
Flume-ng只有一个角色的节点:agent。Agent由source、channel和sink组成。
三、Event
Event是Flume数据传输的基本单元。Flume以事件的形式将数据从源头传送到最终的目的地。Event由可选的header和载有数据的一个byte array构成。其中,载有的数据对Flume是不透明的,Header是容纳了key-value字符串的无序集合,key在集合内是唯一的,Header可以在上下文路由中使用扩展。Source监控某个文件,将数据拿到,封装在一个event中,并put/commit到channel中,channel是一个队列,队列的有点就是先进先出,放好之后尾部一个个event出来,sink主动去从channel中去拉数据,sink再把数据写到某个地方,比如HDFS上面。
四、Flume的特点
4.1复杂流动性
Flume允许用户进行多级流动到最终目的地,也允许扇出流(一到多)、扇入流(多到一)的、故障转移和失败处理。4.2可靠性
事务性的数据传递,保证了数据的可靠性。4.3 可恢复性
通道可以以内存或文件的方式实现,内存更快,但是不可恢复,而文件虽然比较慢但提供了可恢复性。相关文章推荐
- 大数据协作框架之flume详解
- 大数据协作框架简介
- 大数据协作框架之Oozie篇
- 大数据日志收集框架之Flume入门
- 大数据日志收集框架之Flume入门
- 分布式日志收集框架Flume:从指定网端口采集数据输出到控制台
- Flume协作框架
- 大型协作框架flume中avro类型的应用场景
- 【大数据系统架构师】1.4 大数据协作框架
- 分布式日志收集框架Flume:监控一个文件实时采集新增的数据输出到控制台
- Flume+Kafka+Zookeeper搭建大数据日志采集框架
- 大数据协作框架
- Hive采集数据框架flume
- 大数据协作框架之Oozie
- 大数据协作框架Hue
- Flume-ng HDFS Sink “丢数据”
- Struts2(三)——数据在框架中的数据流转问题
- excel数据驱动接口测试框架
- Zookeeper -- 分布式服务框架介绍,管理分布式环境中的数据
- Web自动化框架LazyUI使用手册(8)--excel数据驱动详解(ExcelDataProvider)