当前位置:网站首页>Flume (1) --------- Flume overview
Flume (1) --------- Flume overview
2022-08-06 21:02:00 【Elk in the forest】
I. Definition of Flume
Flume is a highly available, highly reliable, distributed massive log collection, aggregation and transmission system provided by Cloudera.Flume is based on a streaming architecture, which is flexible and simple.

The main function of Flume is to read the server in real timeLocal disk data, write data to HDFS.
Second, Flume infrastructure
The composition of Flume is shown in the following figure.

1. Agent
Agent is a JVM process that sends data from source to destination in the form of events.Agent mainly consists of 3 parts, Source, Channel and Sink.
2. Source
Source is the component responsible for receiving data to Flume Agent.The Source component can handle log data of various types and formats, including avro, thrift, exec, jms, spooling directory, netcat, taildir, sequence generator, syslog, http, legacy.
3. Sink
Sink continuously polls the Channel for events and removes them in batches, and writes these events in batches to a storage or indexing system, or is sent to another Flume Agent.Sink component destinations include hdfs, logger, avro, thrift, ipc, file, HBase, solr, custom.
4. Channel
Channel is a buffer between Source and Sink.Therefore, Channel allows Source and Sink to operate at different rates.Channel is thread-safe and can handle write operations from several sources and read operations from several sinks at the same time.
Flume comes with two channels: Memory Channel and File Channel.
Memory Channel is an in-memory queue.Memory Channel is suitable for scenarios where data loss is not a concern.If you need to care about data loss, then Memory Channel should not be used, because program death, machine downtime or restart will cause data loss.
File Channel writes all events to disk.So no data is lost in case of program shutdown or machine downtime.
5. Event
Transmission unit, the basic unit of Flume data transmission, sends data from source to destination in the form of Event.Event consists of Header and Body. Header is used to store some attributes of the event, which is a K-V structure, and Body is used to store the data in the form of a byte array.

边栏推荐
猜你喜欢
随机推荐
STM32MP157A driver development | 03-usb host interface use (U disk)
pinia 基于插件pinia-plugin-persist的 持久化
【无标题】BOOT SERVICES函数实现原型:
如何检查导入数据中有重复项
Pytest learning-yaml+parametrize interface combat
深入理解隔离性(MVCC,快照,undo log,Read View)
一文带你了解webrtc基本原理(动手实现1v1视频通话)
IO进程线程->进程间的通信->day8
复现一个循环问题以及两个循环问题
uniapp九宫格抽奖可控概率效果demo(整理)
深度学习-基础
Flume (一) --------- Flume 概述
Redis 复习计划 - String内存开销问题以及基本/扩展数据类型的使用
2. 顺序表的基本概念、特点 + 操作代码实现
xss-labs靶场1~7详解
JVM学习之 内存结构
我们来聊聊锁升级吧
利用类加载器获取文件路径报错空指针异常
[target detection] data enhancement: YOLO official data enhancement implementation / simple use of imgaug
STM32MP157A驱动开发 | 05 - 基于LTDC接口驱动RGB LCD







