flume 1.Agent (Source Sink Channel)

flume1.9.0配置 一、解压cd /usr/local/softtar -zxvf apache-flume-1.9.0-bin.tar.gz 二、添加系统环境变量(需配置Java JDK系统参数)vi /etc/profileexport FLUME_HOME=/usr/local/soft/apache-flume-1.9.0-binexport PATH=PATH:PATH:PATH:FLUME_HOME/binsource /etc/profile 三、修改Flume环境变量cd /usr/local/soft/apa 阅读详情

前言

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


1. 基础架构

在这里插入图片描述

1.1 Agent

  Agent是一个JVM进程,以event的形式将数据从数据源发送至目标端。由3个部分组成,Source、Channel、Sink。

A Flume agent is a (JVM) process that hosts the components through which events flow from an external source to the next destination(hop).

1.2 Source

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

Avro Source
Thrift Source
Exec Source
JMS Source
Spooling Directory Source
Taildir Source
Kafka Source
NetCat TCP Source
NetCat UDP Source
Sequence Generator Source
Syslog Sources
HTTP Source
Stress Source
Legacy Sources
Custom Source
Scribe Source

1.3 Sink

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

HDFS Sink
Hive Sink
Logger Sink
Avro Sink
Thrift Sink
IRC Sink
File Roll Sink
Null Sink
HBaseSinks
MorphlineSolrSink
ElasticSearchSink
Kite Dataset Sink
Kafka Sink
HTTP Sink
Custom Sink

1.4 Channel

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

Memory Channel
JDBC Channel
Kafka Channel
File Channel
Spillable Memory Channel
Pseudo Transaction Channel
Custom Channel

1.5 Event

  Flume数据传输的基本单元,以Event的形式将数据从数据源发送至目标端。Event由Header和Body两部分组成,Header存放event的属性,K-V结构;Body存放数据,形式为字节数组。

A Flume event is defined as a unit of data flow having a byte payload and an optional set of string attributes.


2. Flume文档

Flume官网
文档
下载地址


3. Flume进阶

3.1 Flume事务

  Put事务
  Take事务

在这里插入图片描述

3.2 Flume Agent内部原理

在这里插入图片描述
重要组件:
1)ChannelSelector
  选出Event将要被发往哪个Channel。其共有两种类型,分别是Replicating(复制)和Multiplexing(多路复用)。ReplicatingSelector会将同一个Event发往所有的Channel,Multiplexing会根据相应的原则,将不同的Event发往不同的Channel

2)SinkProcessor
  类型包含:DefaultSinkProcessor、LoadBalancingSinkProcessor和FailoverSinkProcessor
  DefaultSinkProcessor对应的是单个的Sink,LoadBalancingSinkProcessor和FailoverSinkProcessor对应的是Sink Group,LoadBalancingSinkProcessor可以实现负载均衡的功能,FailoverSinkProcessor可以错误恢复的功能。

3.3 Flume拓扑结构

3.3.1 简单串联

在这里插入图片描述

  这种模式是将多个flume顺序连接起来了,从最初的source开始到最终sink传送的目的存储系统。此模式不建议桥接过多的flume数量, flume数量过多不仅会影响传输速率,而且一旦传输过程中某个节点flume宕机,会影响整个传输系统。

3.3.2 复制和多路复用

在这里插入图片描述
  Flume支持将事件流向一个或者多个目的地。这种模式可以将相同数据复制到多个channel中,或者将不同数据分发到不同的channel中,sink可以选择传送到不同的目的地

3.3.3 负载均衡和故障转移

在这里插入图片描述
  Flume支持使用将多个sink逻辑上分到一个sink组,sink组配合不同的SinkProcessor可以实现负载均衡和错误恢复的功能

3.3.4 聚合

在这里插入图片描述

  这种模式是我们最常见的,也非常实用,日常web应用通常分布在上百个服务器,大者甚至上千个、上万个服务器。产生的日志,处理起来也非常麻烦。用flume的这种组合方式能很好的解决这一问题,每台服务器部署一个flume采集日志,传送到一个集中收集日志的flume,再由此flume上传到hdfs、hive、hbase等,进行日志分析


JavaScript性能优化:全链路性能优化策略 JavaScript性能优化是提升Web应用质量的核心要素,直接影响用户体验与业务成果。研究表明,页面加载延迟1秒可能导致转化率下降7%。高效的JavaScript执行能减少主线程阻塞,避免动画卡顿或操作延迟,尤其在移动端低性能设备上更为关键。优化内存管理与减少冗余计算可降低浏览器资源消耗,防止因内存泄漏导致的崩溃,提升应用稳定性。在竞争激烈的互联网环境中,性能优势已成为产品差异化的关键因素,直接影响用户留存与商业价值。因此,性能优化应作为开发全周期的核心实践,而非事后补救措施。 阅读详情

相关推荐

TMC5160 StallGuard2调参避坑指南:从SG_RESULT飘忽不定到稳定检测堵转

本文详细解析了TMC5160的StallGuard2功能在堵转测试中的调参技巧,从SG_RESULT波动问题到稳定检测的完整解决方案。通过电流环与反电动势分析、电源噪声处理及低速校准法等实用方法,帮助工程师实现工业级可靠的堵转检测,避免误触发和检测失效问题。

weixin_28727975的博客 381

Flume笔记 —— 几种常见的source,channel,sink配置文件以及相关用法

目录概念与官方文档监听文件目录数据变更,输出到控制台拦截器source监听文件目录,sink输出到hdfs将hbase日志信息写入hdfssource监听netcat端口,sink写入控制台 概念与官方文档 flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。 Flume系统中核心的角色是agent,agent本身是一个Java进程,一般运行在日志收集节点。 一个agent内部有三个组件: Source:采集源,用于跟数据源对接,以获取数据; Channel:agent内部的数据传输通

一纸春秋的博客 8608

matplotlib三维画图之观察博弈论混合策略下纳什均衡点

参考链接: 博弈论入门20讲之第16讲-猜谜游戏-散户如何赢庄家 游戏背景: 我的期望是: 你的期望是: 使用Python的matplotlib画图: import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D fig = plt.figure() ax = Axes3D(fig) X = np.linspace(0, 1, 100) Y = np.linspace(0, 1,

敲代码的小风 1260

flume(三):常见source、channel和sink总结

一、核心关注点 因为flume版本不同,source、channel和sink的接口都是不一样的,所以需要使用对应版本的接口。 本文以flume1.6.0为例,参考http://archive.cloudera.com/cdh5/cdh/5/flume-ng-1.6.0-cdh5.7.0/FlumeUserGuide.html 二、source 1.avro source (1)功能...

小蚯蚓的博客 3498

lisflood-fp(一)从源码到可执行文件:Windows下的Cmake实战编译指南

本文详细介绍了在Windows环境下使用Cmake工具编译lisflood-fp水文模型源码生成可执行文件的全过程。从开发环境配置、源码获取到实战编译,逐步指导如何解决常见错误并处理运行时依赖,最终生成可用的exe文件。特别适合水文专业研究者和工程师学习参考。

weixin_30555125的博客 481

深度学习优化算法解析(Momentum, RMSProp, Adam)

之前看了很多人介绍网络的优化器optimizer,无奈很多都把简单的东西讲的复杂化了,不容易让人懂,恰好之前看过吴恩达老师的最新的课程,这里结合老师讲的和个人想法写一下,方便别人同时也为自己以后回顾吧。 深度学习的优化算法主要有GD,SGD,Momentum,RMSProp和Adam算法吧,还有诸如Adagrad算法,不过大同小异,理解了前面几个,后面的也就引刃而解了。GD算法,SGD算法以及m

willduan的博客 12万+

【Flume】常用Source、Channel、sink组件类型选型

Taildir Source适合用于监听多个实时追加的文件,并且能够实现断点续传 taildir维护了一个json格式的positionFile,其会定期往positionFile中更新每个文件读取到的最新位置,因此能够实现断点续传。如果您有多个 Kafka 源在运行,您可以使用相同的 Consumer Group 配置它们,以便每个都读取一组唯一的主题分区。:event保存在本地文件中,可靠性高,数据可以恢复,但吞吐量低于Memory Channel,即速度没有相对比较慢。:可以将命令产生的输出作为源。

y215204的博客 1206

24年电赛H题 | 想要小车走直线,正在调角度环,但不知道怎么把角度偏航角偏差转化成电机速度输出?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 1316

Flume Agent 内部原理

Source Source是Flume的数据来源,来源的类型多样化,可以是监听一个文件的变化、一个文件夹的变化,可以是接收JMS消息,或者是监听一个网络端口等。Source至少要连接一个Channel,但是Event写入Channel不是由Source来完成的,每个Source都有自己的Channel处理器,Source每次写Event到Channel时,都由Channel处理器来完成。 1、S...

Fys的博客 882

微信小程序报错:“errno“:600001,“errMsg“:“uploadFile:fail errcode:-105 cronet_error_code:-105 error_msg:net::

uploadFile:fail errcode:-105 cronet_error_code:-105 error_msg:net::ERR_NAME_NOT_RESOLVED,uniApp微信小程序使用uni.uploadFile出现报错,微信小程序如何解决wx.uploadFile报错,如何解决这个问题,微信小程序真机报错,微信小程序报错"errno":600001,"errMsg":"uploadFile:fail errcode:-105 cronet_error_code:-105 error_m

✅ 精选推荐文章 3830

QT里获取UUID当做唯一文件名称

QT里获取UUID当做唯一文件名称

547

flume中几种常见的source、channel、sink

flume中几种source、channel、sink的区别 一、source 1、avro source 侦听Avro端口并从外部Avro客户端流接收事件。 当与另一个(上一跳)Flume代理上的内置Avro Sink配对时,它可以创建分层集合拓扑。  channels –   type – The component type na

喜上眉梢 2万+

【RT-DETR有效改进】手把手带你调参RT-DETR,1:1复现官方版本实验环境

本文是带大家进行调参,利用ultralytics仓库1:1复现RT-DETR官方实验环境,从而在后期发表论文 的时候省去一些不必要的麻烦,例如被审稿人提出质疑,本文的调参内容均有依据,根据RT-DETR官方Github上发布的版本进行设置本文的调参以ResNet18为例,其余的何其的调参基本一致。RT-DETR剑指论文专栏,持续复现各种顶会内容——论文收割机RT-DETR。

Snu77的博客 9940

flume安装部署

## kafka.bootstrap.servers = master:9092:指定 Kafka 集群的地址和端口(master 是 Kafka 服务器的主机名,9092 是默认端口)### type = org.apache.flume.sink.kafka.KafkaSink:指定数据目的地类型为 KafkaSink,即数据最终会发送到 Kafka。### kafka.topic = order:指定数据要发送到 Kafka 中的哪个主题(topic),这里是 "order" 主题。

更深兼春远的博客 1452

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Flume-1.8.0的安装与配置

安装 下载 http://flume.apache.org/download.html http://archive.apache.org/dist/flume/1.8.0/ 解压 tar -xzvf apache-flume-1.8.0-bin.tar.gz 建立一个软连接 ln -s apache-flume-1.8.0-bin flume-1.8.0 设置环境变量 [root@single ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:

yandao的博客 1586

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Flume:(三)FLUME使用(监听端口输出信息到控制台)

打开官网, documentation目录下,user guide setup中的例子拷贝出来修改 FLUME使用主要是写配置文件: 配置Source 配置Channel 配置Sink 串联Source、Chanel、Sink a1:agent的名称 r1:Source的名称 c1:Channel的名称 k1:Sink的名称 # example.conf: A single-no...

x670667585的博客 514

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

flume 总结--flume入门介绍

                                    flume介绍    flume被设计为一个灵活的分布式系统,可以很容易的扩展,而且是高度可定制化的,一个配置正确的Flume Agent和由互相连接的Agent创建的Agent管道,保证不会丢失数据,提供持久的channel。Flume部署的最小单元是Flume Agent ,一个Flume Agent可以连接一个或者多个其...

u013362353的博客 1058

Flume1.11.0配置与简单使用(Java17环境)

将apache-flume-1.11.0-bin.tar.gz软件包上传至/usr/local/soft文件夹下 二、添加系统环境变量 编辑环境变量 添加如下内容 使环境变量生效 三、修改Flume环境变量 拷贝环境变量文件 添加内容 四、配置文件 客户端(Source):收集信息拷贝配置文件: 配置文件内容:#分别指定agent的sources,sinks, channels的名称 名称可以自定义 五、启动 其中:-n:agent名称-c:配置文件路径conf-f

super_mochi1 302

flume 单Source、单Channel、多Sink(负载均衡)

在flume安装路径下创建job目录,进入job目录,创建group2目录 配置1个接收日志文件的source和1个channel、两个sink,分别输送给flume-flume-console1和flume-flume-console2 1 配置flume-netcat-flume.conf文件 # Name the components on this agent a1.sou...

小哇 872

【填坑之旅-hadoop-11】2.10.1 flume 1.9.0 (agent channel source sink) sqoop 1.4.7 (import,export)

flume net-example.properties 配置文件 bin/flume-ng agent --conf conf --conf-file conf/net-example.properties --name a1 -Dflume.root.logger=INFO,console flume 示例(source netcat telnet 44444) # example.conf: 一个单节点的 Flume 实例配置 # 配置Agent a1各个组件的名称 a1.sources =

alwarse 286

Flume配置案例——exec_mem_logger.conf

实验内容 Source为exec类型,搭配Channel的memory或file类型,Sink的logger或hdfs类型进行Flume配置实验,如下图所示: 系统环境 Linux Ubuntu 14.04 jdk-7u75-linux-x64 hadoop-2.6.0-cdh5.4.5 flume-ng-1.5.0-cdh5.4.5 zookeeper-3.4.5-cdh5.4.5 实验步骤 ...

极地星辰 734

flume多路复制案例

多路复制案例 一个source的数据,同时写入到多个channel中,多个channel中的数据是一样的。 Agent1 -à agent2/agent3 Agent1: Source:netcat Channel:memory 2 Sink:avro 2 Agent2: Agent3: ...

JohnnyChu的博客 1891

flume日志采集java_Flume日志采集系统

1.简介Flume是Cloudera提供的一个高可用、高可靠、分布式的海量日志采集、聚合和传输的系统.Flume支持在日志系统中定制各类数据发送方用于收集数据,同时Flume提供对数据进行简单的处理并写到各种数据接受方的能力.当前Flume有两个版本,Flume 0.9X版本的统称 Flume-og ,Flume1.X版本的统称 Flume-ng (由于Flume-ng经过重大重构与Flume-o...

weixin_36062835的博客 790

flume日志采集 到kafka ,使用断点续传

链接:https://pan.baidu.com/s/1Bj4ZW-zYybbeAxZt4-Jl8g 提取码:ca2o 复制这段内容后打开百度网盘手机App,操作更方便哦 使用断点续传所需要的JAR,可直接替换flume/bin目录下的flume-taildir-source-1.9.0.jar 链接:https://pan.baidu.com/s/1Aqla3SIWjwyN6M6v0Xg...

沉淀的博客 2000

agent配置

agent2.sources=s1 agent2.channels=c1 agent2.sinks=k1 agent2.sources.s1.type = spooldir agent2.sources.s1.spoolDir =/var/log/hutxlog agent2.sources.s1.fileHeader =true agent2.sources.s1.fileHeade

lskyne的专栏 1万+

【大数据】Flume-1.10.0/1.9.0安装➕入门案例

大数据解决的无非是海量数据的采集、存储、计算,Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。Flume基于流式架构,灵活简单。flume能保证数据的可靠性,但不能保证数据的重复性Flume最主要的作用就是,实时读取服务器本地磁盘的数据,将数据写入到HDFS✍出bug多看看flume目录下的flume`.log文件查看错误信息,问问al轻松解决!👇罪魁祸首(-f)!✍下一节,flume事务!

YG15165的博客 1584
上一篇: mapreduce作业提交源码解读(创建不同模式下的runner、在工作区间生成切片规划文件和配置文件后提交)
下一篇: flink StreamingFileSink 读取kafka中的数据,流式地写入本地文件系统
但行益事莫问前程
但行益事莫问前程 新星创作者: 数据库技术领域 新星创作者: 数据库技术领域
博客等级 码龄7年 8490粉丝 225原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

但行益事莫问前程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值