flume简介

参考 Flume架构以及应用介绍

一.简介

Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。

image.png

二.主要功能

1.日志收集 Flume最早是Cloudera提供的日志收集系统,目前是Apache下的一个孵化项目,Flume支持在日志系统中定制各类数据发送方,用于收集数据。

2.数据处理 Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力 Flume提供了从console(控制台)、RPC(Thrift-RPC)、text(文件)、tail(UNIX tail)、syslog(syslog日志系统,支持TCP和UDP等2种模式),exec(命令执行)等数据源上收集数据的能力。

工作原理

flume的核心是把数据从数据源(source)收集过来,在将收集到的数据送到指定的目的地(sink)。

为了保证输送的过程一定成功,在送到目的地(sink)之前,会先缓存数据(channel),待数据真正到达目的地(sink)后,flume在删除自己缓存的数据。

在整个数据的传输的过程中,流动的是event,即事务保证是在event级别进行的。

那么什么是event呢?

event将传输的数据进行封装,是flume传输数据的基本单位。如果是文本文件,通常是一行记录,event也是事务的基本单位。event从source,流向channel,再到sink,本身为一个字节数组,并可携带headers(头信息)信息。event代表着一个数据的最小完整单元,从外部数据源来,向外部的目的地去。

image.png

三.Flume架构

Flume使用agent来收集日志,agent包括三个组成部分:

  • source:收集数据
  • channel:存储数据
  • sink :输出数据 Flume使用source接收日志,然后缓存到channel中,最后通过sink将数据输出到目的地。只有在sink将channel中的数据成功发送出去之后,channel才会将临时数据进行删除,这种机制保证了数据传输的可靠性与安全性。

Flume支持agent串联操作,也就是说可以将上一个agent的sink输出到作为下一个agent的source的输入。

source还支持接受多个输入,sink也可以将数据输出到多个目的地中。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • MongoDB中的删除操作

    用户2936342
  • Ubuntu搭建bower环境

    前面学习了如何使用bower,不过是在Windows环境下,最近在Ubuntu下需要自己练练小项目,突然想起使用bower来安装js依赖。

    用户2936342
  • bower简要入门

    Bower是一个客户端技术的软件包管理器,它可用于搜索、安装和卸载如JavaScript、HTML、CSS之类的网络资源。

    用户2936342
  • AI Talk | 思必驰首席科学家俞凯:深度绑定底层研究和产业问题

    机器之心原创 作者:高琳 这个世界上的研究,总会有一些人去坐冷板凳,而坐冷板凳的人,他今天去坐明天不一定去坐。就像深度学习现在这么热,之前也有过很冷的阶段。 创...

    机器之心
  • 程序员写 2000 行 if else?领导:这个锅我不背

    知乎上有小伙伴提了这么一个问题,如何看待陕西省普通话水平测试成绩查询系统?查询系统前端代码就直接给出了身份账号,姓名,证书编号,如果信息是真的,就泄露了这么多考...

    小柒2012
  • 一个清理和查询都要兼顾的简单方案(r7笔记第68天)

    最近和开发应用的同学在讨论一个需求,目前他们碰到了一些性能问题,想让我来看看是否能够从数据库的角度有一些解决方案。 假设表为消费记录,简称service_det...

    jeanron100
  • 如何利用NLog输出结构化日志,并在Kibana优雅分析日志?

    上文我们演示了使用NLog向ElasticSearch写日志的基本过程(输出的是普通文本日志),今天我们来看下如何向ES输出结构化日志、在Kibana中分析日志...

    小码甲
  • 7 papers | AI新方法解高数;Ross、何恺明等人渲染思路做图像分割

    1. Audio Hotspot Attack: An Attack on Voice Assistance Systems Using Directional...

    机器之心
  • Docker-Compose基础与实战,看这一篇就够了i

    上篇文章我们讲了Docker的基础与实战,今天我们来聊聊Docker-compose的相关内容。

    JAVA日知录
  • YII2框架中日志的配置与使用方法实例分析

    本文实例讲述了YII2框架中日志的配置与使用方法。分享给大家供大家参考,具体如下:

    砸漏

扫码关注云+社区

领取腾讯云代金券