Flume基础概述
来源:互联网 发布:游戏美工入门 编辑:程序博客网 时间:2024/05/18 00:02
- Flume 是一个从可以收集例如日志,事件等数据资源,并将这些数量庞大的数据从各项数据资源中集中起来存储的工具/服务,或者数集中机制。Flume具有高可用,分布式,配置工具,其设计的原理也是基于将数据流,如日志数据从各种网站服务器上汇集起来存储到HDFS,HBase等集中存储器中
运行机制
Flume的核心就是一个agent,这个agent对外有两个进行交互的地方,一个是接受数据的输入——source,一个是数据的输出sink,sink负责将数据发送到外部指定的目的地。Source接收到数据之后,将数据发送给channel,chanel作为一个数据缓冲区会临时存放这些数据,随后sink会将channel中的数据发送到指定的地方—-例如HDFS等,注意:只有在sink将channel中的数据成功发送出去之后,channel才会将临时数据进行删除,这种机制保证了数据传输的可靠性与安全性。
在这里有必要先介绍一下Flume中event的相关概念:Flume的核心是把数据从数据源(source)收集过来,在将收集到的数据送到指定的目的地(sink)。为了保证输送的过程一定成功,在送到目的地(sink)之前,会先缓存数据(channel),待数据真正到达目的地(sink)后,Flume在删除自己缓存的数据
在整个数据的传输的过程中,流动的是event,即事务保证是在event级别进行的。那么什么是event呢?—–event将传输的数据进行封装,是Flume传输数据的基本单位,如果是文本文件,通常是一行记录,event也是事务的基本单位。event从source,流向channel,再到sink,本身为一个字节数组,并可携带headers(头信息)信息。event代表着一个数据的最小完整单元,从外部数据源来,向外部的目的地去。
基础架构
source 可以接收外部源发送过来的数据。不同的 source,可以接受不同的数据格式。比如有目录池(spooling directory)数据源,可以监控指定文件夹中的新文件变化,如果目录中有文件产生,就会立刻读取其内容。
channel 是一个存储地,接收 source 的输出,直到有 sink 消费掉 channel 中的数据。channel 中的数据直到进入到下一个channel中或者进入终端才会被删除。当 sink 写入失败后,可以自动重启,不会造成数据丢失,因此很可靠。
sink 会消费 channel 中的数据,然后送给外部源或者其他 source。如数据可以写入到 HDFS 或者 HBase 中。
多级flume
- Flume基础概述
- Flume概述
- flume 概述
- Flume概述
- flume基础
- Flume 配置文件概述
- Flume概述—报表数据流
- Flume 概述架构及部署
- apache flume基础应用
- Flume 1.7组件概述与列表
- 基础概述
- D12 Hive基础及Flume
- 日志采集框架Flume、Flume介绍、概述、运行机制、Flume采集系统结构图(1、简单结构、复杂结构)
- hadoop中HBase、Flume、Hive、Zookeeper简要概述
- 《Flume 1.6.0 User Guide》基础入门
- flume (日志收集系统) 基础概念
- Flume
- Flume
- replace(char oldChar, char newChar)源码分析
- Struts2(十四)---文件的上传与下载
- 自顶向下,逐步求精:从洗衣机工作程序看面向过程程序设计方法
- jQuery的each函数,类似于Java的for循环,对多个标签进行遍历
- java--(多线程创建的两种方式Thread类和Runnable接口)
- Flume基础概述
- ping的二三事
- Ubuntu14.04.2中文显示与输入法设置
- 使用argparse解析命令行参数
- 网络请求之OKHttp3.0(工具类)
- ScrollView起始位置不是最顶部的解决办法
- 两种上传头像的方式(file文件)
- 基于ssm的在线(论坛【拟定】)系统
- Apache Commons 工具类介绍