flume学习之一 是什么,主要应用在什么场景

Flume核心概念 Flume是Cloudera提供的日志收集系统,具有分布式、高可靠、高可用性等特点,对海量日志采集、聚合和传输,Flume支持在日志系统中定制各类数据发送方,同时,Flume提供对数据进行简单处理,并写到各种数据接受方的能力。                  Flume传输的数据的基本单位是Event,如果是文本文件,通常是一行记录,这也是事务的基本单位。Event从Source,流向Cha 阅读详情

1、Flume是什么?

Flume是Cloudera开发的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据。数据源可定制、可扩展,数据存储系统可定制、可扩展。

flume运行的核心是agent。它是一个完整的数据收集工具,含有三个核心组件,分别是source、channel、sink。通过这些组件,event可以从一个地方流向另一个地方。为了保证输送一定成功,在送到目的地之前,会先缓存数据,待数据真正到达目的地后,删除自己缓存的数据。

2、flume背景

    Flume 初始的发行版本目前被统称为 Flume OG(original generation),属于 cloudera。但随着 FLume 功能的扩展,Flume OG 代码工程臃肿、核心组件设计不合理、核心配置不标准等缺点暴露出来,尤其是在 Flume OG 的最后一个发行版本 0.94.0 中,日志传输不稳定的现象尤为严重,为了解决这些问题,2011 年 10 月 22 号,cloudera 完成了 Flume-728,对 Flume 进行了里程碑式的改动:重构核心组件、核心配置以及代码架构,重构后的版本统称为 Flume NG(next generation);改动的另一原因是将 Flume 纳入 apache 旗下,cloudera Flume 改名为 Apache Flume。

Flume NG (1.x.x)的主要变化:

sources和sinks 使用channels 进行链接

两个主要channel 。1,  in-memory channel  非持久性支持,速度快。2 , JDBC-based channel 持久性支持。

不再区分逻辑和物理node,所有物理节点统称为 “agents”,每个agents 都能运行0个或多个sources 和sinks

不再需要master节点和对zookeeper的依赖,配置文件简单化。

插件化,一部分面对用户,工具或系统开发人员。

使用Thrift、Avro Flume sources进行RPC通信

注:本文所使用的 apache-flume-1.6.0-bin.tar.gz,不需要额外的安装过程,解压缩即可用

 

3、Flume 的一些核心概念

Agent 使用JVM 运行Flume。每台机器运行一个agent,但是可以在一个agent中包含多个sources和sinks。允许多个agent连在一起,形成前后相连的多级跳

Client 生产数据,运行在一个独立的线程。

Source 从Client收集数据,传递给Channel。不同的source,可以接受不同的数据格式。比如有目录池(spooling directory)        数据源,可以监控指定文件夹中的新文件变化,如果目录中有文件产生,就会立刻读取其内容。

Sink     从Channel收集数据,运行在一个独立线程。会消费channel中的数据,然后送给外部源或者其他source。如数据可以写入到HDFS或者HBase中。

Channel 连接 sources 和 sinks ,这个有点像一个队列。是一个存储地,接收source的输出,直到有sink消费掉channel中的数据。channel中的数据直到进入到下一个channel中或者进入终端才会被删除。当sink写入失败后,可以自动重启,不会造成数据丢失,因此很可靠。

Events 可以是日志记录、 avro 对象等。

 

4、Flume提供的功能

Flume提供了从console(控制台)、RPC(Thrift-RPC)、text(文件)、tail(UNIX tail)、syslog(syslog日志系统,支持TCP和UDP等2种模式),exec(命令执行)等数据源上收集数据的能力。同时,Flume的数据接受方,可以是console(控制台)、text(文件)、dfs(HDFS文件)、RPC(Thrift-RPC)和syslogTCP(TCP syslog日志系统)等

 

5、数据流模型

flume传输的数据的基本单位是event,如果是文本文件,通常是一行记录,这也是事务的基本单位。

Flume的数据流由事件(Event)贯穿始终。事件是Flume的基本数据单位,它携带日志数据(字节数组形式)并且携带有头信息,这些Event由Agent外部的Source,比如上图中的Web Server生成。当Source捕获事件后会进行特定的格式化,然后Source会把事件推入(单个或多个)Channel中。你可以把Channel看作是一个缓冲区,它将保存事件直到Sink处理完该事件。Sink负责持久化日志或者把事件推向另一个Source。不同类型的Source,Channel和Sink可以自由组合。组合方式基于用户设置的配置文件,非常灵活。比如:Channel可以把事件暂存在内存里,也可以持久化到本地硬盘上。Sink可以把日志写入HDFS, HBase,甚至是另外一个Source等等。

 

6、高可靠、可恢复性

高可靠性

作为生产环境运行的软件,高可靠性是必须的。
从单agent来看,Flume使用基于事务的数据传递方式来保证事件传递的可靠性。Source和Sink被封装进一个事务。事件被存放在Channel中直到该事件被处理,Channel中的事件才会被移除。这是Flume提供的点到点的可靠机制。
从多级流来看,前一个agent的sink和后一个agent的source同样有它们的事务来保障数据的可靠性。

可恢复性

还是靠Channel。推荐使用FileChannel,事件持久化在本地文件系统里(性能较差)。

 

大数据开发实战:数据流图及相关数据技术 1、大数据流程图 2、大数据各个环节主要技术 2.1、数据处理主要技术 Sqoop:(发音:skup)作为一款开源的离线数据传输工具,主要用于Hadoop(Hive) 与传统数据库(MySql,PostgreSQL)间的数据传递。它可以将一个关系数据库中数据导入Hadoop的HDFS中, 也可以将HDFS中的数据导入关系型数据库中。 Flume:实时数据采... 阅读详情

相关推荐

电涡流位移测量技术深度解密

电涡流位移传感器凭借非接触测量、高精度(可达纳米级)、强环境适应性(耐高温高压油污)等优势,成为工业精密位移检测的核心技术。其工作原理基于电磁感应:高频磁场在金属靶面感应涡流,通过检测线圈阻抗变化转化为位移信号。应用需注意靶材依赖性(需按实际材料标定)、安装精度及抗干扰措施。广泛应用于磁悬浮轴承、航空发动机、精密制造等领域,实现对微米级位移的可靠监测。

技术工作者 1752

Flume功能简介

优点:flume是一种分布式、可靠以及高可用的海量日志采集、聚合和传输的系统。功能:支持在日志系统中定制各类数据发送方,用于收集数据;同时可提供对数据进行简单处理,并具有写到各种数据接收方(HDFS、Hbase等)的能力。结构:Agent主要由:source,channel,sink三个组件组成。          source:从数据发生器接收数据,并将接的数据以flume的event格式传递给...

qq_31569207的博客 5269

服务器被黑?快速检测和识别系统中的恶意进程

在管理服务器时,检测和识别系统中的恶意进程至关重要。本文介绍了使用 `ps`、`top`、`htop` 等系统监控工具,分析日志文件,以及使用 `chkrootkit` 和 `rkhunter` 等安全工具的方法。通过这些步骤,可以有效地检测和处理恶意进程,确保系统的安全和稳定。

_midnight的博客 1416

Flume简介(一)

一、Flume是什么? Flume 是分布式的海量日志采集、聚合和传输的系统。 二、它主要用来干啥? 最主要的用途:实时读取本地日志文件,并上传到HDFS 三、架构及组成部分

weixin_43646427的博客 2605

【低空经济】森林火情高精度监测与早期预警无人机巡护方案

在全球范围内,森林火灾已成为一个严重的生态和社会问题。它不仅对自然生态系统造成了毁灭性的影响,还对人类的生命财产安全构成了极大的威胁。根据国际森林发展组织的统计,全球每年因森林火灾造成的经济损失高达数百亿美元,甚至在某些年份,火灾损失占到某些国家国民经济总量的相当一部分。因此,开展高效的森林火情监测与早期预警工作显得尤为重要。随着科技的发展,无人机作为新兴的监测工具,以其高效、灵活和经济的特点在森林火灾监测领域展现出了巨大的潜力。

2502_92579126的博客 1211

【C++】 详解 lower_bound 和 upper_bound 函数(看不懂来捶我!!!)

这两个函数是我在 LeetCode 上做题见到,看到不熟悉的函数 lower_bound 和 upper_bound让我感觉很难受,于是在C++ 官网去学习,例子就一个是最基础的,我看明白了。虽然是两个函数的接口就两个,但是有时候看别人使用的时候,里面参数还可以放不同的仿函数,我懵逼了。就去网上搜,但是大家讲解的都是它的第一个接口。我只能再把文档一遍一遍过,代码一遍遍的尝试,调试。最终通过查阅资料将其总结如下。

weixin_45031801的博客 9万+

flume详解

flume详解

qq_45048256的博客 5242

Claude Code 完整使用教程(2026最新版)

《Claude Code 完整使用教程(2026最新版)》摘要: Claude Code 是 Anthropic 公司推出的智能编程工具,通过自然语言对话实现代码编写、调试和重构。本教程基于 v2.1.101 版本,涵盖安装配置、核心功能及最新特性。主要内容包括: 多平台安装方式(macOS/Linux/Windows) 桌面应用专属功能如并行会话、定时任务和语音模式 模型选择指南(Sonnet/Opus/Haiku) 快速入门示例:5分钟创建Node.js项目 核心功能:代码读写、命令执行、Git集成等

程序猿_三产 1万+

Flume 的主要功能是什么

3.数据传输:将处理后的数据写入多种接收方(如HDFS、Hive、Kafka等)。1.数据采集:支持定制各类数据发送方,实时读取服务器本地磁盘日志。4.高可用性:具备分布式架构,确保海量日志传输的可靠性和稳定性。2.数据处理:提供简单数据处理能力,如过滤、格式转换等。

m0_37843156的博客 417

Synopsys Sentaurus TCAD新手教程:从零开始仿真trench MOSFET(附完整代码解析)

本文提供Synopsys Sentaurus TCAD新手教程,详细讲解从零开始仿真trench MOSFET的全过程,包括环境搭建、外延生长、沟槽刻蚀、栅极形成等关键步骤,并附完整代码解析。通过实际案例帮助半导体工程师掌握Sprocess操作技巧,优化工艺参数设置,提升仿真效率。

weixin_30505225的博客 216

iTunes登录协议逆向与自动化实现

本文详细解析了iTunes登录协议的逆向工程与自动化实现方法,涵盖请求体构造、签名生成和会话管理等关键技术。通过XML结构解析、X-Apple-ActionSignature生成原理及完整登录流程实现,帮助开发者高效完成iTunes自动化登录,提升工作效率。

weixin_26938645的博客 938

flume学习之一 是什么,主要应用在什么场景

1、Flume是什么? Flume是Cloudera开发的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据。数据源可定制、可扩展,数据存储系统可定制、可扩展。 flume运行的核心是agent。它是一个完整的数据收集工具,含有三个核心组件,分别是source、channel、sink。通过这些组件,event可以从一个地方流...

qq_43617838的博客 404

月薪30k+的工业视觉,必备Java+YOLO技能(工业级落地全拆解)

30k+工业视觉岗的核心不是算法调参,而是用Java把YOLO落地到工业场景的能力——稳运行、能对接、可管理是高薪的核心壁垒;必备技能分五层:模型工业级适配、Java推理核心、SpringBoot后端、工业部署运维、场景适配,每层都要练到“能落地、能讲清、能避坑”;学习路径的核心是“实战驱动”:不要只学理论,从一个完整的工业项目(如锂电缺陷检测)入手,练完就能对标高薪岗。

2601_94871597的博客 524

【大数据学习笔记-1】大数据hadoop平台基本组件

Hadoop是一个由Apache基金会所开发的分布式计算和存储架构。 说人话的通俗描述: 你在爱奇艺网站看过一次科幻片后,下次再登录爱奇艺,首页会把最新科幻动作片推送给你,目的是要向你多收点会员费。这背后的技术就是叫大数据的技术来自动判断你好什么口味的电影。 行业描述: 开源的分布式存储和计算框架,广泛用户海量数据的存储和处理,比如淘宝网的商品推送,爱奇艺视频的首页电影推送。 Hadoo...

陈小超的技术博客 1415

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

深入学习Flume 应用场景及架构原理

Flume 是什么? Flume是一个分布式、可靠、和高可用的海量日志聚合的系统,支持在系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。 Flume 特点 1、可靠性 当节点出现故障时,日志能够被传送到其他节点上而不会丢失。 2、可扩展性 Flume采用了三层架构,分别为agent,collector和stor...

pigziprogrammer的专栏 437

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Flume简单学习

Apache Flume 是一个分布式、高可靠、高可用的用来收集、聚合、不同来源的到中央数据仓库的工具。数据大概分为三类:1、日志数据--文本文档2、业务数据--各种数据库3、第三方数据--买的,别人给的、爬取的对flume的理解:flume 其实就是水管 数据起始就是水,将水引入到不同的容器中Sqoop -- 一般用于采集数据库中的数据Flume -- 一般采集我们的日志数据 user.logFlume 其实可以看做一个水管。一头接着水源,一头接着桶,从水源地抽取数据到桶里去。

A12345689B的博客 1289

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

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

转自:https://blog.youkuaiyun.com/zjh_746140129/article/details/83832418 一、Flume概述 Flume是由 Cloudera 提供的一个分布式、高可靠、高可用的服务,用于分布式的海量日志的高效收集、聚合、移动系统。简单来说,Flume 就是一个针对日志数据进行采集和汇总的一个工具(把日志从A地方移动到B地方) Flume 官网:http://flume.apache.org/ Flume 官方文档:http://flume.apache.or..

Lyncai的专栏 425

大数据开发笔记(六):Flume基础学习

Flume基础 1、Flume是什么? Flume是数据采集,日志收集的框架,通过分布式形式进行采集,(高可用分布式) 本质:可以高效从各个网站服务器中收集日志数据,并且存储到HDFS、hbase 2、Flume可以对接的数据源? Console、RPC、Text、Tail、Syslog、Exec等 3、Flume接受的数据源输出目标? 磁盘,hdfs,hbase, 经过网络传输kafka data->flume->kafka->spark stre...

专注大数据与人工智能技术分享,欢迎私信加群互相学习! 5119

flume+java应用_flume学习与总结记录

1.什么是flumeCloudera 开发的框架,实时收集数据Flume学习的核心: agent的设计官方文档,http://flume.apache.org/FlumeUserGuide.html2.flume环境的搭建下载地址: http://archive.cloudera.com/cdh5/ --- 选择对应版本常规的解压安装操作1)配置环境变量export FLUME_HOME=/...

weixin_39895481的博客 356

Flume 学习

Sink ​3. 基础配置示例(日志 → HDFS)​​ 创建配置文件 : ​4. 启动命令​ ​三、Flume 高级功能配置​ ​1. 多路复用(复制流到多个 Sink)​​ ​2. 数据拦截器(Interceptor)​​ ​3. Kafka Sink 配置​ ​四、生产环境最佳实践​ ​1. 可靠性保障​ ​Channel 选择​: 高吞吐场景 → channel(风险:宕机丢数据) 零数据丢失 → channel(性能较低)

x17809211858的博客 1006

学习记录-Flume的概率记录

Apache Flume 是一个开源的、分布式的、可靠的数据收集、聚合和传输系统,主要用于将大量日志数据从源头传输到集中存储系统(如HDFS、HBase、Kafka等)。Flume最初由Cloudera开发,后来成为了Apache软件基金会的一个顶级项目。**Flume的发展历程**:1. **起源**:Flume起源于Cloudera,当时是为了解决从大量服务器收集日志数据的问题。它最早是作为Cloudera Distribution for Hadoop(CDH)的一部分被开发出来的。

NIANDD的博客 1772

【Flume学习之二】Flume 使用场景

环境  apache-flume-1.6.0 一、多agent连接 1、node101配置 option2 # Name the components on this agent a1.sources = r1 a1.sinks = k1 a1.channels = c1 # Describe/configure the sourc...

weixin_30739595的博客 156

Hadoop学习之Flume日志采集

Hadoop学习之Flume日志采集

weixin_46490924的博客 4853

【Flume学习之一】Flume简介

环境   apache-flume-1.6.0 Flume是分布式日志收集系统。可以将应用产生的数据存储到任何集中存储器中,比如HDFS,HBase;同类工具:Facebook Scribe,Apache chukwa,淘宝Time Tunnel 应用场景图 一、Flume核心组件1、Event: 一个数据单元,消息头和消息体组成。(Events可以是日志记录、 avro 对象等...

weixin_30697239的博客 181

大数据学习——Flume入门

文章目录一、Flume概述1.1、Flume定义1.2、Flume基础架构二、Flume快速入门2.1、安装Flume部署2.2、入门案例2.2.1、监控端口数据(官方案例)Describe the sinkUse a channel which buffers events in memoryBind the source and sink to the channel2.2.2、实时监控单个追加文件2.2.3、监控文件 升级版2.2.4、监控文件夹变化2.2.5、断点续传——实时监控目录文件追加修改三、

5akura's Blog 3356
上一篇: Kafka学习之七 为什么说Kafka使用磁盘比内存快
下一篇: Centos安装NodeJs 二进制文件方法
技术宝哥
博客等级 码龄16年 331粉丝 222原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值