Flume简介

Flume简介1 什么是 flumeflume 是由 cloudera 软件公司产出的可分布式日志收集系统 后与 2009 年被捐赠了 apache 软件基金会 为 hadoop 相关组件之一 Flume 是一种分布式 可靠且可用的服务 用于高效地收集 汇总和移动大量日志数据 它具有基于流式数据流的简单而灵活的架构 它具有可靠的可靠性机制以及许多故障转移和恢复机制 具有强大

1、什么是flume

2、为什么需要flume

3、flume特性

4、Flume Agent简单架构

简单

Agent结构

Agent:Agent是Flume中的核心组件,用来收集数据。一个Agent就是一个JVM进程,它是Flume中最小的独立运行的单元。

在Agent中有三个组件,分别为Source,Channel,Sink

Flume Event
Event:在flume中,event是最小的数据单元,由header和body组成 event 是 是 flume
中处理消息的基本单元,个 由零个或者多个 header 和正文 body 组成 。 Header 是 是 key/value 形式的
, 可以用来制造路由决策或携带其他结构化信息( 如事件的时间戳或 事件来源的服务器主机名)和 。你可以把它想象成和 HTTP
头一样提供相同的功能—— 通过该方法 来传输正文之外的额外信息。 Body 是一 个字节数组 ,包含了实际的内容。 flume
提供的同 不同 source 会给其生成的 event 添加不同的 header




Source:数据源。负责将数据捕获后进行特殊的格式化,然后再封装在Event中,再将数据推入到Channel中
常见类型: :avro 、exec、 jms、spooling directory、source 、kafka 、netcat 等

Channel:连接source和sink的组件,可以理解为数据缓冲区(数据队列),可以将event暂存在内存上,也可以持久化到本地磁盘上,直到sink消费完。
常见类型:Memory、JDBC、File等

Sink:数据下沉。从channel中取出数据后,分发到别的地方,比如HDFS或者HBase等,也可以是其他Agent的source。当日志数据量小的时候,可以将数据存在文件系统中,并设定一定的时间间隔来存储数据。
常见类型:HDFS、Logger、File Roll、Avro、Thrift、HBase等
Source、Channel和Sink的类型具体说明参照官网用户指南

一个或者多个Agent连接就形成了,流将数据推送到了另一个Agent,最终将数据推送到存储或者索引系统。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/224916.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 上午10:51
下一篇 2026年3月17日 上午10:51


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号