ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

flume基本概念与操作实例(常用source),java基础教程第三版耿祥义

2021-11-13 13:03:18  阅读:192  来源: 互联网

标签:flume 耿祥义 java r1 a1 source sink event


Sink:下沉地,采集数据的传送目的,用于往下一级agent传递数据或者往最终存储系统传递数据;

在整个数据的传输的过程中,流动的是event,它是Flume内部数据传输的最基本单元。

event将传输的数据进行封装。如果是文本文件,通常是一行记录,event也是事务的基本单位。event从source,流向channel,再到sink,本身为一个字节数组,并可携带headers(头信息)信息。event代表着一个数据的最小完整单元,从外部数据源来,向外部的目的地去。

在这里插入图片描述

二、流动方式


在这里插入图片描述

在这里插入图片描述

扇入流动

多个source对应一个sink

在这里插入图片描述

扇出流动

一个source对应多个sink

在这里插入图片描述

[](

【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】

浏览器打开:qq.cn.hn/FTf 免费领取

https://blog.csdn.net/qq_44823756/article/details/119254685)三、flume中几种常用的source


(1)netcat

数据的形式是通过TCP请求接受或者发送,接受的只是字符串形式的数据

文件编写

在flume文件下的data目录中新建一个basic文件

vim basic.conf

#绑定数据来源为r1

a1.sources=r1

#绑定source与sink之间的通道channel

a1.channels=c1

#绑定数据流向的最终目的地

a1.sinks=s1

#配置Source

#这里的source是netcat,通过NC发出TCP请求获取数据

a1.sources.r1.type=netcat

#端口所在的地址,表示从本地获取数据

a1.sources.r1.bind=0.0.0.0

#绑定端口号,配置监听的端口

a1.sources.r1.port=8090

#配置Channel -表示内存通道,临时把数据存储到内存中

a1.channels.c1.type=memory

#最多存储1000条数据 - 对应1000个event事件

a1.channels.c1.capacity=1000

#每次提供100条数据发送给sink

a1.channels.c1.transactionCapacity=100

#配置sink -表示以日志的形式输出在控制台

a1.sinks.s1.type=logger

实战操作

在linux系统中下载安装flume,进入flume安装路径的bin目录中

接着开启flume

sh flume-ng agent --name a1 -c …/conf/ -f …/data/basic.conf -Dflume.root.logger=INFO,console

在这里插入图片描述

接着在同一台虚拟机内,打开一个新的终端

解压安装nc

在这里插入图片描述

在新终端输入 nc hadoop01 8090

hadoop01是本台虚拟机的名称,8090是之前设定的端口

在这里插入图片描述

在里面随意的输入几个单词

这时再回到原先的终端窗口

在这里插入图片描述

会发现flume已经监听到输入的这两个单词了

(2)avro


数据的形式是通过TCP请求接受或者发送,接受的只是字符串形式的数据

文件编写

相比于netcat,只需要修改a1.sources.r1.type=avro即可

标签:flume,耿祥义,java,r1,a1,source,sink,event
来源: https://blog.csdn.net/m0_63102494/article/details/121303017

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有