Flume - 初识

2024-06-14 21:48
文章标签 初识 flume

本文主要是介绍Flume - 初识,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Flume - 初识


一、基本架构

Flume-NG 采用三层架构设计:收集(Source)、暂存(channel)和处理(Sink)。
flume架构.png-107.7kB

一个event在一个agent中传输的顺序为:

Source -> Interceptor -> Selector -> Channel -> Sink Processor -> Sink -> 中心存储/下一级agent

二、核心概念

  1. Event: 一条消息或者说是一条数据,具有可选头信息,在头信息中可以设置时间戳、主机名称等信息。
  2. Source: 数据源,接收或者收集不同形式的数据源。
  3. Channel: event的临时缓冲区,source先将event发送到chanel缓存等待sink消费。
  4. Sink: 从channel获取event并发送到中心存储或者下一级agent。
  5. Agent: 包含source、channel、sink等组件的flume进程。
  6. Interceptor: event拦截器,根据配置文件在event的header中添加时间戳、主机名称等信息。
  7. Selector: event选择器,event选择流入channel的方式,flume提供了复制(replicating)和复用(multiplexing)选择器。
  8. Sink Processor: event sink处理器,flume提供了故障转移处理器和负载均衡处理器。

三、组件简介

3.1 Source

Source用于对接各种数据源,将收集到的事件发送到临时存储Channel中。

常用的source类型有:Avro Source、Exec Source、Kafka Source、Taildir Source、Spooling Directory Source等

3.2 Channel

Channel被设计为Event中转临时缓冲区,存储Source收集并且没有被Sink读取的Event,为平衡Source收集和Sink读取数据的速度,可视为Flume内部的消息队列。Channel线程安全并且具有事务性,支持source写失败重复写和sink读失败重复读等操作。

常用的Channel类型有Memory Channel、File Channel、Kafka Channel等。

3.3 Sink

常用的类型为 Avro Sink、HDFS Sink、Kafka Sink

四、配置别名

flume配置别名.png-18.9kB

这篇关于Flume - 初识的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1061596

相关文章

flume系列之:查看flume系统日志、查看统计flume日志类型、查看flume日志

遍历指定目录下多个文件查找指定内容 服务器系统日志会记录flume相关日志 cat /var/log/messages |grep -i oom 查找系统日志中关于flume的指定日志 import osdef search_string_in_files(directory, search_string):count = 0

Linux操作系统 初识

在认识操作系统之前,我们首先来了解一下计算机的发展: 计算机的发展 世界上第一台计算机名叫埃尼阿克,诞生在1945年2月14日,用于军事用途。 后来因为计算机的优势和潜力巨大,计算机开始飞速发展,并产生了一个当时一直有效的定律:摩尔定律--当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。 那么相应的,计算机就会变得越来越快,越来越小型化。

flume系列之:记录一次flume agent进程被异常oom kill -9的原因定位

flume系列之:记录一次flume agent进程被异常oom kill -9的原因定位 一、背景二、定位问题三、解决方法 一、背景 flume系列之:定位flume没有关闭某个时间点生成的tmp文件的原因,并制定解决方案在博主上面这篇文章的基础上,在机器内存、cpu资源、flume agent资源都足够的情况下,flume agent又出现了tmp文件无法关闭的情况 二、

docker学习系列(一)初识docker

在第一版本上线之后公司,我们决定将之前使用的开源api文档项目转移到本公司的服务器之上,之前用的是showdoc,showdoc利用的是php技术,作为java程序员表示需要快速部署php环境以及apach容器都需要时间,所以采用第二种方法,即利用docker进行快速部署(虽然学习成本也不比php少)。 一、docker简介 docker的官网是https://www.docker.com,

框架template初识

框架初识 框架就是一个别人帮我们搭好的舞台,造好了很多现成的工具供我们使用,让开发过程更快速、简洁。 Gin框架介绍 Gin 是一个用 Go (Golang) 编写的 HTTP Web 框架。 Gin是一个用Go语言编写的web框架。它是一个类似于martini 但拥有更好性能的API框架, 由于使用了 httprouter,速度提高了近40倍。 第一个Gin示例 package mai

【数据结构】--初识泛型

1. 包装类 在Java中,由于基本类型不是继承自Object,为了在泛型代码中可以支持基本类型,Java给每个基本类型都对应了一个包装类型。 1.1 基本数据类型和对应的包装类 除了 Integer 和 Character, 其余基本类型的包装类都是首字母大写。 1.2 (自动)装箱和(自动)拆箱 装箱(装包): 把 基本数据类型 变为 包装类类型 的过程 叫做装箱。 反汇编指

初识Linux · 进度条

目录 前言: 1 缓冲区和回车换行 2 进度条 前言: 我们目前学习了些许知识,已经足够支持我们写一个非常非常小的项目了,即进度条,相信大家都有过下载游戏,等待游戏更新完成的时候,那么此时就有一个进度条,代表着游戏的更新进度,那么我们今天就来模拟实现这个过程,在此之前,我们需要一些预备知识。 1 缓冲区和回车换行 回车换行?是的,你没有看错,相信不少人对换行有一定的误解,我们

Linux初识线程

前言 前面在介绍进程的时候,说过进程的内核表述是"进程是承担资源分配的基本实体",但是我们至今都没有介绍如何理解他?本期我们就会介绍! 目录 前言 一、再谈地址空间和页表 1、OS对物理内存的管理 • 为什么4KB是OS进行I/O的基本单位? 2、再谈页表 • 二级页表 • 如何找到一个变量的所有字节? • 虚拟地址是如何转为物理地址的? • 理解动态内存管理 • 为什么对

初识命名空间

1.创建两个命名空间 ip netns add host1 ip netns add host2 2.  查看命名空间 ip netns ls 3 、 创建veth ip -netns host1 link add veth0 type veth peer name host1-peer 4、 查看命名空间接口  ip -netns host1 address 5、 把hos

Linux进程初识:OS基础、fork函数创建进程、进程排队和进程状态讲解

目录 1、冯诺伊曼体系结构 问题一:为什么在体系结构中存在存储器(内存)? 存储单元总结: 问题二:为什么程序在运行的时候,必须把程序先加载到内存? 问题三:请解释,从你登录上qq开始和某位朋友聊天开始,数据的流动过程。 2、操作系统 2.1操作系统的概念: 我们首先要明白什么是管理: 2.2为什么要有操作系统? 2.3操作系统如何保证稳定和安全呢?(利用系统调用函数解决)