大数据技术——结合Flume官方理解常用组件

news2025/1/1 10:56:00

     Flume的常用组件包括Event和Agent。Agent又包含了Source、Channel以及Sink,本片文章将从官方说明文档入手,详细描述各组件以及组件的属性和功能。

文章目录

  • 1 常用的Source类型描述
    • 1.1 Netcat Source
    • 1.2 Exec Source
    • 1.3 Spooling Directory Source
    • 1.4 Taildir Source
  • 2 常用的Channel类型描述
    • 2.1 Memory Channel
    • 2.2 File Channel
  • 3常用的Sink类型描述
    • 3.1 HDFS Sink
    • 3.2 File Roll Sink
    • 3.3 Avro Sink

1 常用的Source类型描述

     Source顾名思义,使用此组件可以将外部数据读入存储到Event(Event作为Flume传送数据的基本单位),并且将数据写入到Channel。

1.1 Netcat Source

官方文档:

在这里插入图片描述

  • 类型简介
    • 它打开一个指定的端口并监听数据。期望提供的数据是换行符分隔的文本,每一行文本都转换为一个Flume事件,并通过连接的通道发送。
  • 属性介绍
    • channels:绑定Channel (相当于缓冲区),数据从Source送入到Channel,从Channel再送往Sink。------》Source是主动推送,Sink是主动拉取数据
    • type:Source类型
    • bind:主机名称
    • port:获取主机的那个端口信息

使用样例:

# Describe/configure the source
a2.sources.r1.type = netcat
a2.sources.r1.bind = hadoop103
a2.sources.r1.port = 44444

1.2 Exec Source

官方文档

在这里插入图片描述

  • 简介

    • Exec源程序在启动时运行给定的Unix命令,并期望该进程在标准输出时持续生成数据。如果进程因任何原因退出,源也将退出,并且不再产生其他数据
  • 属性说明:

    • command:需要执行的命令
    • shell:用于运行该命令的shell调用。例如/bin/sh -c。只需要依赖于shell特性的命令,如通配符、反勾号、管道等。

使用样例:

# Describe/configure the source
a1.sources.r1.type = exec
a1.sources.r1.command = tail -F /opt/module/hive-3.1.2/logs/hive.log
a1.sources.r1.shell = /bin/bash -c

1.3 Spooling Directory Source

官方文档:
在这里插入图片描述

  • 类型描述
    • 这个源允许您通过将要被摄取的文件放入磁盘上的“假脱机”目录来摄取数据。该源将监视指定目录中的新文件,并在新文件出现时解析事件。
  • 属性
    • spoolDir:监听的文件目录
    • fileSuffix:后缀附加到完全摄入的文件
    • fileHeader:是否添加存储绝对路径filename的头文件。

使用样例

# Describe/configure the source
a3.sources.r3.type = spooldir
a3.sources.r3.spoolDir = /opt/module/flume-1.9.0/upload
a3.sources.r3.fileSuffix = .COMPLETED
a3.sources.r3.fileHeader = true

1.4 Taildir Source

官方描述:
在这里插入图片描述


  • 类型简介

    • 监视指定的文件,一旦检测到每个文件追加了新行,就几乎实时地跟踪它们。如果正在写入新行,此源将重试读取它们,等待写入完成。
    • 该源是可靠的,即使在跟踪文件旋转时也不会丢失数据。它定期将每个文件的最后一次读取位置写入JSON格式的给定位置文件。如果Flume因某种原因停止或关闭,它可以从写入现有位置文件的位置开始重新启动。-----------支持实时监听和断点续传,实现可靠传输
  • 新加属性描述

    • filegroups:以空格分隔的文件组列表,每个文件组表示要跟踪的一组文件。
    • filegroups.< filegroupName >:文件组的绝对路径。

使用样例:

# Describe/configure the source
a3.sources.r3.type = TAILDIR
a3.sources.r3.positionFile = /opt/module/flume-1.9.0/tail_dir.json
a3.sources.r3.filegroups = f1 f2
a3.sources.r3.filegroups.f1 = /opt/module/flume-1.9.0/files/.*file.*
a3.sources.r3.filegroups.f2 = /opt/module/flume-1.9.0/files2/.*log.*

2 常用的Channel类型描述

2.1 Memory Channel

官方文档:

在这里插入图片描述

  • Channel类型简介
    • 事件存储在具有可配置最大大小的内存队列中,可以实现高速的数据吞吐,Flume出现故障时,数据会丢失。
  • 属性
    • capacity:Channel队列的最大容量
    • transactionCapacity:从Source到Channel的最大传输量-----》一定要小于capacity

使用样例

# Describe the channel
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100

2.2 File Channel

官方文档

在这里插入图片描述

  • 类型描述
    • 此类缓冲区会将数据存储在磁盘中,可以持久化所有的Event,Flume出现故障时数据不会丢失。
  • 属性
    • checkpointDir:文件保存路径

使用样例

a1.channels = c1
a1.sinks = k1
a1.sinks.k1.type = file_roll
a1.sinks.k1.channel = c1
a1.sinks.k1.sink.directory = /var/log/flume

3常用的Sink类型描述

3.1 HDFS Sink

官方文档
在这里插入图片描述

在这里插入图片描述

  • Sink描述:
    • 该接收器将事件写入Hadoop分布式文件系统(HDFS)。它目前支持创建文本和序列文件。它支持两种文件类型的压缩。
  • 属性:
    • hdfs.path:保存的路径

使用样例

# Describe the sink
a2.sinks.k1.type = hdfs
a2.sinks.k1.hdfs.path = hdfs://hadoop102:8020/flume2/%Y%m%d/%H
#上传文件的前缀
a2.sinks.k1.hdfs.filePrefix = flume2-
#是否按照时间滚动文件夹
a2.sinks.k1.hdfs.round = true
#多少时间单位创建一个新的文件夹
a2.sinks.k1.hdfs.roundValue = 1
#重新定义时间单位
a2.sinks.k1.hdfs.roundUnit = hour
#是否使用本地时间戳
a2.sinks.k1.hdfs.useLocalTimeStamp = true
#积攒多少个 Event 才 flush 到 HDFS 一次
a2.sinks.k1.hdfs.batchSize = 100
#设置文件类型,可支持压缩
a2.sinks.k1.hdfs.fileType = DataStream
#多久生成一个新的文件
a2.sinks.k1.hdfs.rollInterval = 30
#设置每个文件的滚动大小大概是 128M
a2.sinks.k1.hdfs.rollSize = 134217700
#文件的滚动与 Event 数量无关

3.2 File Roll Sink

官方文档

在这里插入图片描述

  • Sink描述

    • 将数据存储到本地文件系统,多用作数据收集
  • 属性在这里插入图片描述

    • sink.directory:保存到本地文件的目录
# Describe the sink
a3.sinks.k1.type = file_roll
a3.sinks.k1.sink.directory = /opt/module/data/flume3

3.3 Avro Sink

官方文档
在这里插入图片描述

  • Sink描述:
    • 发送到该接收器的Flume事件被转换为Avro事件并发送到配置的主机名/端口对。事件以配置的批处理大小的批量从配置的Channel中获取。-------》可以作为传输多个Agent的中间人

使用样例:

# Describe the sink
a1.sinks.k1.type = avro
a1.sinks.k1.hostname = hadoop104
a1.sinks.k1.port = 4141

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

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

相关文章

【SQL】redo log | undo log

【SQL】日志redo日志和undo日志REDO LOGredo的整体流程UNDO LOG小结redo日志和undo日志 REDO LOG 称为重做日志&#xff0c;提供再写入操作&#xff0c;恢复提交事务修改的页操作&#xff0c;用来保证事务的持久性。 事务提交后&#xff0c;刚写完缓冲池&#xff0c;数据库宕…

Linux 必知必会

一、Linux 简介 Linux 与 Windows 和 Mac OS 等系统一样&#xff0c;它也是一个操作系统&#xff0c;并且是一个开源的类 unix 操作系统。凭借着其免费、安全、高稳定性等特点&#xff0c;被广泛应用于服务器、嵌入式开发等领域&#xff0c;并且在服务器领域一枝独秀&#xff0…

docker-compose Install Prometheus

前言 Prometheus是一个开源的系统监控和报警系统,现在已经加入到CNCF基金会,成为继k8s之后第二个在CNCF托管的项目,在kubernetes容器管理系统中,通常会搭配prometheus进行监控,同时也支持多种exporter采集数据,还支持pushgateway进行数据上报,Prometheus性能足够支撑上…

蒙代尔-弗莱明模型

蒙代尔-弗莱明模型 – 潘登的宏观经济学笔记 文章目录蒙代尔-弗莱明模型 -- 潘登的宏观经济学笔记IS-LM-BP蒙代尔-弗莱明模型资本完全流动固定汇率制度浮动汇率制资本完全不流动固定汇率制浮动汇率制资本不完全流动(KA主导&#xff0c;BP斜率小)固定汇率制浮动汇率制资本不完全…

代码随想录刷题|买卖股票问题的总结

目录 总结 121.买卖股票的最佳时机 问题描述 特点分析 动态规划思路 122.买卖股票的最佳时机Ⅱ 问题描述 特点分析 动态规划思路 123.买卖股票的最佳时机III 问题描述 特点分析 动态规划思路 188.买卖股票的最佳时机IV 问题描述 特点分析 动态规划思路 309.最…

tictoc例子理解 16-18

tictoc16-18tictoc 16 全局信号signaltictoc 17 在仿真界面幕布上显示总条数信息tictoc 18tictoc 16 全局信号signal 前一步的主要问题是&#xff0c;如果我们想要更改所收集的统计信息&#xff0c;就必须修改模型的代码。统计计算深入到模型代码中&#xff0c;很难修改和理解…

大型扫码点餐小程序系统源码

1. 开发语言&#xff1a;JAVA 2. 数据库&#xff1a;MySQL 3. 原生小程序 4. Sass 模式 5. 带调试视频 6. 可付费调试服务 扫码点餐小程序管理端&#xff1a; 数据统计&#xff1a;今日订单、堂食、预约、外卖、储值 堂食订单&#xff1a;订单号、商家、门店、类型、会员、桌位…

Spring进阶(二十)之事件处理

目录 为什么需要使用事件这种模式 事件模式中的几个概念 使用事件模式实现上面用户注册的业务 事件对象 事件监听器 事件广播器 事件广播默认实现 自定义用户注册成功事件类 用户注册服务 下面我们使用spring来将上面的对象组装起来 测试用例模拟用户注册 添加注册…

第四十篇 Vue封装swiper组件(v-swiper指令) 3.0

在前面讲到 Vue组件的封装不知道还记不记得&#xff0c;这里就不在过多的赘述&#xff0c;这里附上链接跳转可以进行回顾翻阅&#xff0c;上一篇内容​​​​​​​讲到这个自定义的指令&#xff0c;也就是为这篇封装swiper组件使用指令做铺垫的&#xff0c;那么也一同附在这里…

电子电气架构设计之三电系统设计

文中缩略词参考 SSTS&#xff1a;Sub System Technical Specification&#xff0c;子系统功能规范 CTS&#xff1a;Component Technical Specification&#xff0c;部件功能规范 DCDC&#xff1a;Direct Current Direct Current Converter&#xff0c;直流转直流变换器 BMS&…

Postgresql源码(92)深入分析HOT更新

0 概述与总结 hot更新已经有几篇分析了&#xff0c;这里是最后一篇&#xff08;总结性的&#xff0c;前面的可以忽略&#xff09;。前面在看update代码时&#xff0c;大部分集中在heap_update上&#xff0c;没有涉及寻找HOT链的逻辑。本篇重点看HOT链是如何使用的。 &#xf…

[附源码]计算机毕业设计JAVA鑫地酒店酒水库存管理系统论文

[附源码]计算机毕业设计JAVA鑫地酒店酒水库存管理系统论文 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; …

搜索技术——群智能

如果有兴趣了解更多相关内容&#xff0c;欢迎来我的个人网站看看&#xff1a;瞳孔空间 一&#xff1a;初识群智能 1.1&#xff1a;粒子群算法 粒子群算法&#xff0c;也称粒子群优化算法或鸟群觅食算法&#xff08;Particle Swarm Optimization&#xff09;&#xff0c;缩写…

语音特征:spectrogram、Fbank(fiterbank)、MFCC

1.各种语音特征 语音特征用于语音识别和语音合成等。 语音特征有声谱图spectrogram、Fbank(fiterbank)、MFCC(Mel-frequency cepstral coefficients)等。 Fbank 特征提取方法就是相当 于 MFCC 去掉最后一步的离散余弦变换&#xff08;有损变换&#xff09;. 在深度学习之前…

git学习笔记

1、安装及配置git 1、到官网下载git安装包&#xff1a;https://git-scm.com/download/win 2、安装完成后&#xff0c;菜单栏有如下工具 3、配置账户和邮件信息 $ git config --global user.name "xxx"$ git config --global user.email "xxxmegvii.com"4…

十大排序算法(C++)

十大排序算法Sorting algorithm(C) 百度百科&#xff1a; 所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的排列起来的操作。排序算法&#xff0c;就是如何使得记录按照要求排列的方法。排序算法在很多领域得到相当地…

高通平台开发系列讲解(AI篇)如何让yolov5运行在SNPE

文章目录 一、模型下载二、模型转换三、模型量化四、后处理加速沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇章主要介绍高通平台SNPE SDK运行yolov5。 一、模型下载 首先去git上下载yolov5s的代码和模型https://github.com/ultralytics/yolov5 二、模型转换 采…

Python爬虫实战,requests+xlwings模块,Python实现制作天气预报表!

前言 今天为大家介绍PythonExcel的实战项目&#xff0c;非常有趣&#xff0c;废话不多说。 Let’s start happily 开发工具 Python版本&#xff1a; 3.6.4 相关模块&#xff1a; xlwings模块 requests模块 pathlib模块 xlwings模块 json模块 环境搭建 安装Python并…

RAR压缩包,去除密码?

压缩包设置了加密&#xff0c;需要输入压缩包密码才能够顺利解压文件出来。但是有些时候&#xff0c;一些文件只需要一段时间内要加密&#xff0c;之后文件不需要加密了&#xff0c;每次解压文件的时候还是需要输入压缩包密码才行&#xff0c;就很麻烦&#xff0c;那么RAR压缩包…

SAP 接口主动推送企业微信异常消息

"推送企业微信格式lv_json { "msgtype": "markdown", "markdown": &&{ "content": "### 异常JOB通知\n >JOB名称&#xff1a; && gt_alv-jobname && \n 程序名称&#xff1a; && gt_…