Flume系列:Flume组件架构

news2024/11/24 19:44:35

目录

Apache Hadoop生态-目录汇总-持续更新

一:Flume 概述

二:Flume 基础架构

 2.1:Agent

2.2:Source

2.3:Sink

2.4:Channel

1) Memory Channel

2) File Channel

3) Kafka Channel

2.5:Event


Apache Hadoop生态-目录汇总-持续更新

系统环境:centos7

Java环境:Java8

一:Flume 概述

Flume 是 Cloudera 提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。Flume 基于流式架构,灵活简单(实时增量添加到hdfs)。

Flume最主要的作用就是,实时读取服务器本地磁盘的数据,将数据写入到HDFS(只能识别文本文件)

二:Flume 基础架构

 2.1:Agent

        Agent 是一个 JVM 进程,它以事件的形式将数据从源头送至目的。

        Agent 主要有 3 个部分组成,Source、Channel、Sink。

2.2:Source

        Source 是负责接收数据到 Flume Agent 的组件。

        Source 组件可以处理各种类型、各种格式的日志数据,包括 avro、thrift、exec、jms、spooling directory(采集文件)、netcat(采集端口数据)、taildir、sequence generator、syslog、http、legacy

2.3:Sink

        Sink 不断地轮询 Channel 中的事件且批量地移除它们,并将这些事件批量写入到存储或索引系统、或者被发送到另一个 Flume Agent。

        Sink 组件目的地包括 hdfs、logger(常用语测试)、avro、thrift、ipc、file、HBase、solr、自定义。

2.4:Channel

Channel 是位于 Source 和 Sink 之间的缓冲区。因此,Channel 允许 Source 和 Sink 运作在不同的速率上。Channel 是线程安全的,可以同时处理几个 Source 的写入操作和几个Sink 的读取操。

Flume Channel:Memory Channel(内存)File Channel(文件) 以及 Kafka Channel

1) Memory Channel

Memory Channel 存储在内存是内存中的队列。Memory Channel 在不需要关心数据丢失的情景下适用

2) File Channel

File Channel 存储在磁盘。因此在程序关闭或机器宕机的情况下不会丢失数据

FileChannel底层原理

 FileChannel优化

        通过配置dataDirs指向多个路径,每个路径对应不同的硬盘,增大Flume吞吐量。

        checkpointDir和backupCheckpointDir也尽量配置在不同硬盘对应的目录中,保证checkpoint坏掉后,可以快速使用backupCheckpointDir恢复数据。

3) Kafka Channel

Kafka Channel:数据存储在kafka里,存储在磁盘, 如果sink是kafka的情况,采用Kafka Channel会少一步sink

注意:

        在Flume1.7以前,Kafka Channel很少有人使用,因为发现parseAsFlumeEvent这个配置起不了作用。也就是无论parseAsFlumeEvent配置为true还是false,都会转为Flume Event。这样的话,造成的结果是,会始终都把Flume的headers中的信息混合着内容一起写入Kafka的消息中

2.5:Event

面向任务的,每个任务开启对应的agent

Flume 数据传输的基本单元,以 Event的形式将数据从源头送至目的地。

Event 由 Header(标记区分) 和 Body(数据本身) 两部分组成,Header 用来存放该 event 的一些属性,为 K-V 结构,Body 用来存放该条数据,形式为字节数组。

实际工作中数据源的种类比较多, 比如一个文件中有订单,点击数据,支付数据,可以通过event设置不同的Header头,然后控制传输到不同的Channel往下执行

source对接数据源将数据读取过来,source将一行数据封装成一个event事件,传输到channel,sink拿到事件后会做解析(序列化)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/424525.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AI 绘画 API 超详细使用教程 - 附微信小程序接入代码

写在前面 【AI绘画/AI图像生成】已成为现下炙手可热的话题,AI 大模型训练的成本高昂,算法研究时间周期较长,对于大多数人来说,自研一套算法模型还是非常困难的,因此 AI 绘画 API 就应运而生,直接调用 AI 绘…

MRI图像配准技术及其未来

前言 早在20世纪40年代数字革命开始之前,图像配准就已经成为一个具有重要现实意义的过程。这技术首次应用于彩印,即将几种单色图案叠加在一起形成多色图案。为了生成最终所需的多色印刷品,各个层相对于另一个层的对齐必须是精确的。若个别层…

linux PAM模块简介

PAM模块简介1. 介绍1.1 概念1.2 验证过程简述2. 配置文件介绍2.1 PAM的模块类型2.2 PAM的控制标记2.3 PAM的模块路径3. 验证机制3.1 login的验证机制流程3.2 pam相关文件4. 示例4.1 ssh远程登录控制4.2 禁止账号间使用su命令切换4.3 限制root从tty1,tty2,tty5登录1.…

墨菲安全入选网络安全全景图,将持续深耕软件供应链安全垂直领域

2023年4月7日,中国网络安全领域的专业媒体安全牛正式发布第十版网络安全行业全景图,展现了我国网络安全行业的应用发展与变革创新,所有申请企业通过多个维度审核考量。墨菲安全作为一家专注于软件供应链安全领域的创新企业,以开发…

数据层的解决方案(NOSQL)

1.Redis 1.Redis是一款key-value存储结构的内存结构的内存级NoSQL数据库 支持多种数据存储 支持持久化 支持集群 2.服务器的启动命令&#xff1a; redis-server.exe redis.windows.conf 3.客户端启动命令 redis-cli.exe 4.SpringBoot整合Redis 1.导入相应的依赖 <…

ESP32学习笔记09-ADC多通道采集 dma方式传输

9. ADC多通道采集 dma方式传输 9.1 DIG SAR ADC 控制器 9.1.1特点 高性能。时钟更快,因此采样速率实现了大幅提升。支持多通道扫描模式。每个 SAR ADC 的测量规则可见样式表。扫描模式可配置为 单通道模式双通道模式交替模式。扫描可由软件或 I2S 总线发起。支持 DMA,扫描完…

Win10 安装配置 Hadoop 及 Spark

以下内容只针对 Win10 系统 1. 环境安装 (1) 安装Java并配置环境变量 https://www.oracle.com/java/technologies/downloads/#java8-windows (2) 安装Scala https://www.scala-lang.org/ 或 https://github.com/lampepfl/dotty/releases/tag/3.2.2 配置环境变量&#xff0…

谷歌研究科学家:ChatGPT秘密武器的演进与局限

来源&#xff5c;TalkRL OneFlow编译 翻译&#xff5c;徐佳渝、贾川 同样是基于GPT预训练模型&#xff0c;为什么ChatGPT的效果要远远超出GPT-3等前几代模型&#xff1f;答案已经揭晓&#xff0c;成就ChatGPT的秘密武器在于RLHF&#xff0c;也就是人类反馈的强化学习。 在预训…

SpringMVC的入门案例

三层架构和mvc 三层架构&#xff1a; 我们的开发架构一般都是基于两种形式&#xff0c;一种是C/S 架构&#xff0c;也就是客户端/服务器&#xff0c;另一种是 B/S 架构&#xff0c;也就是测览器服务器。在 avaEE开发中&#xff0c;几乎全都是基于 B/S 架构的开发。那么在 B/S…

Dream 主题之 Halo 2.0 适配,以及适配前后的一些异同

经过一段时间的适配&#xff0c;目前 Dream 已经发布了基于 Halo 2.x 的第一个预发版本。目前对主题所有功能都完成了适配&#xff0c;但是由于 Halo 2.x 与 1.x 的一些不同&#xff0c;以及 Thyeleaf 模板引擎与 FreeMaker 模板渲染引擎的一些不同的特性&#xff0c;适配前与适…

Python机器学习、深度学习技术提升气象、海洋、水文领域实践应用能力

Python是功能强大、免费、开源&#xff0c;实现面向对象的编程语言&#xff0c;能够在不同操作系统和平台使用&#xff0c;简洁的语法和解释性语言使其成为理想的脚本语言。除了标准库&#xff0c;还有丰富的第三方库&#xff0c;Python在数据处理、科学计算、数学建模、数据挖…

redis docker 集群搭建

redis docker 集群搭建 1. 安装镜像 docker pull redis:latest2. 创建conf模板和脚本 # 创建模板目录 mkdir /data/redis_conf# 创建实际映射目录 mkdir /data/redis_data# 在/data/redis_conf创建conf模板 touch redis_cluster.conf.template# 编写redis_cluster.conf.temp…

详解TCP协议与模拟实现TCP版本的字典翻译客户端与服务器

文章目录TCP协议前言1.TCP协议介绍2. TCP协议的特点3. TCP协议的机制3.1 确认应答机制3.2 超时重传机制3.3 连接管理机制3.3.1 三次握手3.3.2 四次挥手3.4 滑动窗口3.5 流量控制3.6 拥塞控制3.7 延时应答机制3.8 捎带应答机制3.9 面向字节流3.10 异常处理4.TCP socket的介绍5.实…

SureX 全新投资矩阵推出,引领理财新潮流!

前言—— 随着加密货币市场的崛起&#xff0c;越来越多的投资者开始关注这个领域。但是&#xff0c;对于新手投资者来说&#xff0c;加密货币市场充满了各种不确定性和风险。如何在这个市场上游刃有余&#xff1f;SureX 零操作理财产品来袭&#xff0c;为新手投资者提供了一种…

[SWPUCTF] 2021新生赛之(NSSCTF)刷题记录 ①

[SWPUCTF] 2021 新生赛&#xff08;NSSCTF刷题记录wp&#xff09;[SWPUCTF 2021 新生赛]gift_F12[第五空间 2021]签到题[SWPUCTF 2021 新生赛]jicao[SWPUCTF 2021 新生赛]easy_md5[SWPUCTF 2021 新生赛]caidao[SWPUCTF 2021 新生赛]include[SWPUCTF 2021 新生赛]easyrce[SWPUCT…

机器人提示词工程师 Robotics Prompt Engineer

还没毕业&#xff0c;在校学习的各项技能都已经没用了&#xff0c;也别急着焦虑和忧伤&#xff0c;工业时代到信息时代&#xff0c;信息时代到智能时代&#xff0c;换代对每个普通人都是非常具有挑战性的&#xff0c;也是新一轮洗牌的开始。 机器人提示词工程师的核心竞争力包括…

【音视频第14天】webRTC协议(1)

目录协议ICESTUNNATTURNSDPSDP结构Signaling and ConnectingSignaling: How peers find each other in WebRTCConnecting and NAT Traversal with STUN/TURNSignalingsdp协议WebRTC如何使用sdpWebRTC会话示例Connecting为什么WebRTC需要一个专用的子系统来连接?Networking rea…

配置 Zabbix Server 监控 Kafka 集群

目录 第一章.环境安装部署 第一章.环境安装部署 1.1安装卡夫卡集群跟zabbix 第二章操作步骤 2.1.记录集群 Zabbix 监控节点地址 2.2.在kafka三个节点安装安装 zabbix-agent2 2.3在 Web 页面中添加 agent 主机 第一章.环境安装部署 1.1安装卡夫卡集群跟zabbix systemctl…

2023年想学习编程语言,该选哪种?

2023年想学习编程语言&#xff0c;该选哪种&#xff1f;在计算机广泛运用于社会的各个行业领域乃至生活日常每个角落的今天&#xff0c;选择学习一门计算机语言真的很不错&#xff0c;它会让你的生活从此与众不同&#xff0c;拥有另一番光景的未来。 根据最新的编程语言排行榜…

聚焦运营商信创运维,美信时代监控易四大亮点值得一试!

2021年11月《“十四五”信息通信行业发展规划》提出&#xff0c;到2025年&#xff0c;我国将建立高速泛在、集成互联、智能绿色、安全可靠的新型数字基础设施体系。 此《规划》让我国运营商信创进一步加速&#xff0c;中国移动、中国电信、中国联通等都先后加入信创大军&#x…