Flume架构、Flume工作原理、Flume应用场景

分布式日志收集框架Flume-- 文章目录Flume概述Flume架构及核心组件Flume&JDK环境部署Flume实战案例一Flume实战案例二Flume实战案例三(重点掌握) 业务现状:公司有Hadoop集群;同时拥有大量日志数据;你想要把大量日志数据放入Hadoop中进行分析。 WebServer/ApplicationServer分散在各个机器上 想大数据平台Hadoop进行统计分析 日志如何收集到Hadoop平... 阅读详情

转自: https://blog.youkuaiyun.com/zjh_746140129/article/details/83832418

一、Flume概述
Flume是由 Cloudera 提供的一个分布式、高可靠、高可用的服务,用于分布式的海量日志的高效收集、聚合、移动系统。简单来说,Flume 就是一个针对日志数据进行采集和汇总的一个工具(把日志从A地方移动到B地方)

Flume 官网:http://flume.apache.org/ 

Flume 官方文档:http://flume.apache.org/FlumeUserGuide.html

Flume 特点:
(1)、可靠性:当节点出现故障时,日志能够被传送到其他节点上而不会丢失。Flume提供了三种级别的可靠性保障,从强到弱依次分别为:

①.end-to-end(收到数据agent首先将event写到磁盘上,当数据传送成功后,再删除;如果数据发送失败,可以重新发送); 

②.Store on failure(这也是scribe采用的策略,当数据接收方crash时,将数据写到本地,待恢复后,继续发送); 

③.Best effort(数据发送到接收方后,不会进行确认)。

(2)、可扩展性:Flume采用了三层架构,分别为agent,collector和storage,每一层均可以水平扩展所有agent和collector由master统一管理,这使得系统容易监控和维护,且master允许有多个(使用ZooKeeper进行管理和负载均衡),这就避免了单点故障问题。

(3)、可管理性 

①.所有agent和colletor由master统一管理,这使得系统便于维护。 

②.多master情况,Flume利用ZooKeeper和gossip,保证动态配置数据的一致性。 

③.用户可以在master上查看各个数据源或者数据流执行情况,且可以对各个数据源配置和动态加载。 

④.Flume提供了web 和shell script command两种形式对数据流进行管理。①

(4)、功能可扩展性 

①.用户可以根据需要添加自己的agent,collector或者storage。 

②.此外,Flume自带了很多组件,包括各种agent(file, syslog等),collector和storage(file,HDFS等)。

(5)、文档丰富,社区活跃 

Flume 是Apache下的一个顶级项目,已经成为 Hadoop 生态系统的标配,它的文档比较丰富,社区比较活跃,方便我们学习。

 

主要的核心概念:
Event:flume最基本的数据单元,带有一个可选的消息头(headers)。如果是文本,event通常是一行记录,event也是事务的基本单位。

Flow:Event从源点到达目的点的迁移的抽象。

Client:操作位于源点处的Event,将其发送到Flume Agent。

Agent:一个独立的Flume进程,包含组件Source、Channel、Sink。

Source:用来消费传递到该组件的Event,完成对数据的收集,分成transtion和event打入到channel之中。不同的 source,可以接受不同的数据格式。

Channel:主要提供一个队列的功能,对source提供中的数据进行简单缓存,作用是保证source到sink的数据传输过程一定能成功。

Sink:取出Channel中的数据,进行相应的存储文件系统、数据库等。

 

 

二、Flume架构
     

 

三、Flume工作原理
         Flume的核心就是一个agent,这个agent对外有两个进行交互的地方,一个是接受数据的输入——source,一个是数据的输出sink,sink负责将数据发送到外部指定的目的地。source接收到数据之后,将数据发送给channel,chanel作为一个数据缓冲区会临时存放这些数据,随后sink会将channel中的数据发送到指定的地方—-例如HDFS等,注意:只有在sink将channel中的数据成功发送出去之后,channel才会将临时数据进行删除,这种机制保证了数据传输的可靠性与安全性。

 

四、Flume应用场景
————————————————
版权声明:本文为优快云博主「zjh_746140129」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/zjh_746140129/article/details/83832418

华为AR3260路由器NAT回流配置实战:从WEB界面到命令行的完整避坑指南 本文详细解析了华为AR3260路由器NAT回流(Hairpin NAT)的配置原理与实战方法。针对内网用户无法通过公网地址访问内部服务器的常见问题,文章不仅剖析了WEB界面配置的常见报错原因,更提供了清晰、可靠且一劳永逸的命令行(CLI)配置方案与排错指南,帮助企业网络工程师彻底解决内外网访问不一致的难题。 阅读详情

相关推荐

华为主题包HWT从入门到排障:下载、导入、修改与兼容性指南

手机主题是很多用户个性化设备的起点,华为手机的主题文件以HWT格式封装,本质上是一种结构特殊的ZIP压缩包,内部包含壁纸、图标、字体和XML配置。了解HWT的目录结构与系统版本兼容性,能帮助用户避开导入失败、秒回默认等常见问题。本文从HWT的基本原理讲起,梳理了安全下载渠道、三种导入方式、应用失败的系统性排查思路,并介绍了解包修改壁纸与字体的方法。无论是普通用户还是进阶玩家,掌握这些技术细节都能更从容地在EMUI与HarmonyOS环境下管理自己的主题资源。

weixin_31155097的博客 358

深入解析Apache Flume:定义、架构、原理、应用场景及常用命令

Apache Flume 是一个分布式日志收集系统,专为高吞吐量的数据传输而设计。它提供了灵活的配置机制,支持多种数据来源和多种数据目标,能够可靠地将大量的日志数据从分布式数据源传输到集中存储系统。

CloudJourney的博客 2308

树莓派与无人机协同实战:基于OpenCV的地标识别优化策略

本文深入探讨了基于树莓派与无人机的协同系统,重点分享了利用OpenCV优化地标识别以实现精准降落的实战策略。内容涵盖从应对复杂光照的图像预处理、鲁棒的轮廓几何过滤,到通过ROS进行稳定通信,以及实现分层控制与状态机设计,旨在提升系统在真实环境中的可靠性与性能。

y2z3a4b5c的博客 1086

告别‘编译通过,运行崩溃’:用CppCheck在VS里给你的C++代码做一次深度‘体检’(附实战案例)

本文介绍如何使用CppCheck静态分析工具在Visual Studio中对C++代码进行深度检查,解决‘编译通过,运行崩溃’的常见问题。通过实战案例展示如何检测数组越界、内存泄漏等潜在缺陷,并提供VS集成方案和高级定制技巧,帮助开发者提升代码质量。

weixin_30693683的博客 746

【安卓逆向】python版本 sha源码

免责声明本文内容仅供学习交流使用,严禁用于商业和非法用途。抓包数据、敏感网址以及数据接口已进行脱敏处理。 注:如有引用,请标注文章地址!!!!!!!

Coodekun的博客 817

基于 ESP32-CAM 与 TinyML 的食堂餐盘自动识别与营养分析终端

【代码】基于 ESP32-CAM 与 TinyML 的食堂餐盘自动识别与营养分析终端。

weixin_42300449的博客 165

Flume 系列 (二) 结构及运行原理

Flume结构及运行原理 一、Flume 特点 flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(比如文本、HDFS、Hbase等)的能力 ,关于flume介绍,可以参考另外篇博文《Flume 初识》 二、Flume 概念及结构 Event: flume内部的数...

凌晨1点21分的专栏 760

Codex 100个真实案例 - 用AI做英语单词计划学习工具(记忆曲线+测验)

背单词是英语学习的基本功,但市面上的背单词 APP 要么收费、要么广告太多。本案例用 Codex 从零打造一个 **英语单词计划学习工具**,实现 SM-2 间隔重复算法(Anki 的核心算法)、单词本增删改查、多种测验模式(选择题/拼写/听写)、TTS 发音播放,以及学习数据的可视化统计图表。全程用自然语言驱动 Codex,用 Python 写后端逻辑 + 终端 UI,打造你的私人背单词助手!

yueyeguzhuo的专栏 201

pandas及numpy - 常用操作

20200808 - 这里主要记录一些关于pandas的基础操作,一些容易忘记,但偶尔会使用的操作。 操作列表 数据的读取 数据切片 数据的画图操作 字符串操作 修改数据 删除列(行) 数据显示不全(行) 根据规则修改列数据 将某列转换为时间索引 1. 数据的读取 如果有文件是已经按照分隔符分割好的,直接使用read_csv即可;几种特殊情况: 默认使用,作为分隔符,想修改的话在sep参数中指定; 默认第一行是列名,但如果没有的话,要指定(header = None,names = [‘a’,‘b’]

围城 1483

OpenOCD入门到精通:第20章 Target 子系统源码分析

摘要:本章深入分析OpenOCD Target子系统的核心实现机制。重点包括:1) 通过target_type虚函数表实现多架构抽象,支持ARM、RISC-V等30+种目标;2) ARM ADIv5协议栈实现,包含DAP/AP核心数据结构和访问机制;3) 分层架构设计,从调试接口层到传输层的完整调用链路。系统采用面向对象思想,统一管理目标状态、寄存器缓存、断点/观察点等调试要素,为上层提供标准化的调试操作接口。

从事嵌入式linux android驱动开发,拥有全栈能力 178

SMART200如何实现多次调用子程序带定时器功能

1、西门子200PLC的子程序由于很多限制条件,如果希望建立一个可以多次调用的子程序,那么这个子程序里是不能含有定时器指令的,所以我们只能退而求其次了。建议将沿指令(上升沿、下降沿)放在多次调用子程序的外面。 2、可以提供不同的时基,提供不同时间的定时 3、实现秒定时 5、子程序内部: STL代码: 1、时基信号由外部提供、 可以提供不同的时基信号 2、实现循环定时开关 LD #Start:L0....

RXXW_Dor的博客 1万+

flume基本架构与相关原理总结

可能说起日志采集,首先想起的便是flume。先来看看flume官网是怎么说的:http://flume.apache.org/releases/content/1.7.0/FlumeUserGuide.html#overview A Flume event is defined as a unit of data flow having a byte payload and an optiona...

破晓的成长之路 970

uniapp(全端兼容) - 最新详细实现瀑布流列表及布局设计,uni-app全平台兼容的瀑布流示例,view容器自适应瀑布流布局,图片瀑布流布局、图像+文字卡片式瀑布流,类似小红书(详细示例代码)

uni-app,瀑布流,安卓app,苹果app,微信小程序,移动端,H5网页,手机网站,微信小程序、支付宝小程序,手机app端,nvue,瀑布流布局,如何实现图片瀑布流,怎么做文字+图像瀑布流,uniapp仿小红书笔记瀑布流效果,uniAPP仿快手抖音布局列表,瀑布流列表详细教程,编译所有平台都能用的瀑布流列表,商品瀑布流列表,图文列表,小程序瀑布流,页面触底懒加载,瀑布流插件,详细示例代码教程,uni-app H5实现瀑布流效果,uniapp小程序做瀑布流,纯css瀑布流,用uniapp写瀑布流商品列表,

✅ 精选推荐文章 1万+

Flume架构及基本原理(一)

Flume基本原理Flume概述Flume的定义Flume的优缺点Flume的体系架构Flume四种模式&拓扑结构 Flume概述 Flume的定义 Flume由Cloudera公司开发,是一个分布式、高可靠、高可用的海量日志采集、聚合、传输的系统。 Flume支持在日志系统中定制各类数据发送方,用于采集数据; Flume提供对数据进行简单处理,并写到各种数据接收方的能力。简单的说,Flume是实时采集日志的数据采集引擎。 Flume的优缺点 优点 分布式:flume分布式集群部署,扩展性好

徐小慧_Blog的博客 844

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Flume深入解读分布式日志收集系统

随着大数据技术的广泛应用,如何高效地收集和传输海量日志成为企业技术架构中不可忽视的一环。是一个分布式、可靠且高可用的日志采集系统,专门用于将大量数据从各种分散的数据源传输到集中式存储系统,如 HDFS、Kafka 等。Flume 以其灵活的扩展性、易配置性以及高效的事件处理能力,广泛应用于数据采集和实时流处理场景。Flume 是一款功能强大且灵活的分布式日志收集系统,能够在大规模、高并发的环境下稳定运行。

hello.reader 1299

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

大数据中篇03_Flume

Flume 定义:Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。Flume基于流式架构,灵活简单 Flume基础架构 Flume安装部署 (1)将apache-flume-1.9.0-bin.tar.gz上传到linux的/opt/software目录下 (2)解压apache-flume-1.9.0-bin.tar.gz到/opt/module/目录下 tar -zxf /opt/software/apache-flume-1.9.0-bin.tar

Radiation_x的博客 1174

Flume

Flume 第1章 Flume概述 1.1 Flume定义 Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。Flume基于流式架构,灵活简单。 1.2 Flume基础架构 Flume组成架构如图1-1所示: 图1-1 Flume组成架构 下面我们来详细介绍一下Flume架构中的组件: 1.2.1 Agent...

hujinqiu1071686579的博客 587

尚硅谷大数据技术之Flume

第1章 概述 1.1 Flume定义 Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。Flume基于流式架构,灵活简单。 1.2 Flume的优点 可以和任意存储进程集成。 输入的的数据速率大于写入目的存储的速率,flume会进行缓冲,减小hdfs的压力。 flume中的事务基于channel,使用了两个事务模型(sender + receiv...

qq_37023928的博客 2371

Flume整体介绍

Flume整体介绍一、Flume 作用与角色二、Flume 架构三、Flume 核组件讲解3.1 Flume 有三大组件 ,source ,channel ,Sinksource : 源头channel: 通道Sink: 接收器3.2 Flume 拦截器四、flume 代码结构解析五、Flume 安装六、典型应用实例 一、Flume 作用与角色 Flume: 是一种分布式,可靠且可用的服务,用...

一直打铁 328

【flume】详细介绍及使用

1.Flume简介 Apache flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统,用于有效地收集、聚合和将大量日志数据从许多不同的源移动到一个集中的数据存储(如文本、HDFS、Hbase等)。 其使用不仅仅限于日志数据聚合。因为数据源是可定制的(内置Avro,ThriftSyslog,Netcat),Flume可以用于传输大量事件数据,包括但不限于网络流量数据、社交媒体...

东北溜达滑的博客 1074

flume介绍及原理总结

flume介绍及扩展开发心得一二   存储,学习,共享 一、flume简介 Flume是Cloudera提供的日志收集系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种storage。Flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。 上图的Flume

wulantian的专栏 1万+

事关Flume

事关Flume 1.flume是什么? Apache Flume是一个可以从不同的数据源收集数据资源(例如日志,事件等),并将这些数量庞大的数据从各项数据源中集中起来存储的工具/服务。简略地说是一个分布式、高可用的数据收集系统。 2.flume怎么工作的? 外部数据源的信息以特定的格式向Flume发送events(事件)。当source接收到events时,它将其存储到一个或者多个channel。channel将会一直保存events,直到被sink读取完毕。sink从...

gyl0406的博客 466

Flume工作流程及相关介绍

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34279246的博客 1785

Flume的使用技巧

1、Flume概述 Flume是一个分布式的海量日志采集、聚合和传输的系统。Flume的主要的作用就是,实时的读取服务器本地磁盘的数据,将数据写入到HDFS。 Agent:将数据以事件的形式从源头送至目的地。包括Source、Channel、Sink。 Source是负责接收数据到Flume Agent的组件。Source组件可以处理各种类型、各种格式的日志数据,包括avro、thrift、exec、jms、spooling directory、netcat、Taildir 、sequence gener

qq_41378127的博客 462

Flume 概述 & 架构 & 组件介绍

01-前置 Sqoop的作用: RDBMS <==> Hadoop (关系型数据库与Hadoop生态圈中的存储框架,结合Sqoop做导入导出操作) 在生产环境上,数据库中的文件是一部分,除此之外的文件与日志才是大头、对我们而言是十分重要的,但是会有如下的问题: 文件与日志是无法用Sqoop进行操作的 通常日志采集框架有:Flume、Logstash、Beat(这3个都可...

呼呼的小窝 2295

大数据-Flume

Flume的快速入门 1、什么是Flume Flume 是 Cloudera 提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传 输的系统。Flume 基于流式架构,灵活简单。 2、Flume的作用 ​ 总结:Flume最主要的作用:实时读取服务器本地磁盘的数据,将数据写入到HDFS 3、Flume的基本架构 4、Flume架构中的组件 4.1 Agent Agent 是一个 JVM 进程,它以事件的形式将数据从源头送至目的。Agent 主要有 3 个部分组成,Source、Channel

m0_46689661的博客 228
上一篇: 数组传值、传指针、传引用
下一篇: 大数据Flume系列之Flume集群搭建
令羽飞飞
博客等级 码龄14年 42粉丝 166原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值