大数据技术之Flume 第1章 Flume概述[通俗易懂]

大数据技术之Flume 第1章 Flume概述[通俗易懂]第1章 Flume概述 1.1Flume定义 Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。Flume基于流式架构,灵活简单。 官网地址:https

大数据技术之Flume  第1章 Flume概述

第1章 Flume概述

1.1Flume定义

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

官网地址:https://flume.apache.org/

未命名绘图.drawio

1.2 Flume基础架构

Flume组成架构如下图所示。

image-20220212160524976

1.2.1 Agent

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

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

1.2.2 Source

Source是负责接收数据到Flume Agent的组件。Source组件可以处理各种类型、各种格式的日志数据,包括avro、thrift、exec、jms、spooling directory、netcat、 taildir 、sequence generator、syslog、http、legacy。

1.2.3 Sink

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

Sink组件目的地包括hdfs、logger、avro、thrift、ipc、file、HBase、solr、自定义。

1.2.4 Channel

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

Flume自带两种Channel:Memory Channel和File Channel。

Memory Channel是内存中的队列。Memory Channel在不需要关心数据丢失的情景下适用。如果需要关心数据丢失,那么Memory Channel就不应该使用,因为程序死亡、机器宕机或者重启都会导致数据丢失。

File Channel将所有事件写到磁盘。因此在程序关闭或机器宕机的情况下不会丢失数据。

1.2.5 Event(数据)

传输单元,Flume数据传输的基本单元,以Event的形式将数据从源头送至目的地。Event由HeaderBody两部分组成,Header用来存放该event的一些属性,为K-V结构,Body用来存放该条数据,形式为字节数组。

image-20220213234415095

IT学习网站

牛牛IT网站

Spring Cloud Alibaba学习资源推荐

Spring Cloud Alibaba 微服务架构实战
链接: https://pan.baidu.com/s/1nJpfbjPyf3n339INybjOQQ?pwd=8t11 提取码: 8t11
–来自百度网盘超级会员v4的分享
失效加V:x923713

原文地址:https://www.cnblogs.com/niuniu2022/archive/2022/06/07/16350384.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/5149.html

(0)
上一篇 2023-05-21
下一篇 2023-05-21

相关推荐

  • 如何使用Python中的sleep函数提升脚本性能

    如何使用Python中的sleep函数提升脚本性能Python中的sleep函数是线程模块的一部分。当线程在执行任务时可以使用sleep函数,暂停一定时间(秒),让CPU去执行其他任务,从而提升脚本的性能。

    2024-03-22
    71
  • Mysql存储结构「建议收藏」

    Mysql存储结构「建议收藏」索引是一种加快查询速度的数据结构,常用索引结构有hash、B Tree和B+Tree。本节通过分析三者的数据结构来说明为啥Mysql选择用B+Tree数据结构。 数据结构 Hash hash是基于哈希

    2023-02-12
    143
  • Python List:数据结构中的重要概念

    Python List:数据结构中的重要概念在Python中,List是一个重要的数据结构,它是一组有序、可变、可重复的元素集合。List在Python编程中使用广泛,它的功能非常强大,可以完成很多的操作,包括添加、删除、修改、遍历等。

    2023-12-13
    97
  • oracle redo日志_MySQL性能优化

    oracle redo日志_MySQL性能优化背景 现在主流的数据库系统的故障恢复逻辑都是基于经典的ARIES协议,也就是基于undo日志+redo日志的来进行故障恢复。redo日志是物理日志,一般采用WAL(Write-Ahead-Loggin

    2022-12-17
    132
  • 自然语言处理:让Python自动化文本处理更加精准高效

    自然语言处理:让Python自动化文本处理更加精准高效自然语言处理(Natural Language Processing,NLP)是计算机科学、人工智能、语言学等交叉领域的一项技术,其目的是让计算机能够识别、理解、分析和生成人类自然语言的信息。Python作为当前较为流行的编程语言之一,提供了丰富的用于自然语言处理的库和工具。本文将介绍Python在自然语言处理方面的应用,包括文本处理、情感分析、主题建模等内容。

    2024-02-14
    83
  • 什么是idle

    什么是idlePython是一种高级编程语言,其优雅的语法和强大的扩展性让它成为众多开发人员的选择。然而,相对于其他编程语言,Python的开发工具比较简单,有些开发者甚至选择在文本编辑器中手动编写Python代码。在这种情况下,IDLE就成为了一个非常有用的工具。

    2024-05-18
    47
  • sql自定义_c语言中函数的定义

    sql自定义_c语言中函数的定义trunc(exp1) trunc(exp1)和Round(exp1,exp2)类似,只不过trunc()不指定截取的小数位数进行处理,只取到整数位,不做舍去处理 select trunc(123.1

    2023-02-20
    153
  • SQL中针对不规范数字order by排序的处理方式「建议收藏」

    SQL中针对不规范数字order by排序的处理方式「建议收藏」在操作数据库的时候经常需要order by进行排序,但是有的时候数据并没有很好的格式化导致排序的结果不合我们的心意,如下图: 如果我们要按照value进行排序的话,就会得到上面截图的结果,解决方法有两

    2023-05-06
    125

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注